怎么在C#中实现打开一个新窗口的同时关闭原来旧窗口

小弟有事相求了,怎么在C#中实现打开一个新窗口的同时关闭原来旧窗口我用Form1frr=newForm();frr.Close();关不了;请高手指教我们做的是一个登录s... 小弟有事相求了,怎么在C#中实现打开一个新窗口的同时关闭原来旧窗口
我用Form1 frr=new Form();
frr.Close();
关不了;
请高手指教
我们做的是一个登录sql的程序,输入服务器名,数据库名,登录帐号,密码后如果连接成功,则进入下一个窗口,然后刚才的窗口关闭,
"fr是frr的parent线程
你应该将那部分代码放在主线程类或另外一个静态类中 "是什么意思,能说详细点吗,谢谢了
3楼大哥的用fr.Close();没作用,因为main()在Form1里,用fr.Close()那么程序就关了
展开
 我来答
百度网友1c0b25d
推荐于2018-03-02 · TA获得超过186个赞
知道小有建树答主
回答量:483
采纳率:0%
帮助的人:205万
展开全部
楼上那是不可以的 要你那么弄fr是启动窗体 如果结束了所有窗体就都关闭了
所以你在启动第一个窗提的时候就把窗体隐藏 隐藏后 你启动第二个窗体
在第2个窗体里 写:Form1 F1;
在第二个窗体里的构造函数里加参数 Form1 f1

然后在函数里把参数给F1;
F1 = f1;
然后你就可以写登陆了 如果登陆成功 F1.Show(); 关闭Form2 this.Close();
这样就可以 很简单的
soysource
推荐于2016-09-20 · TA获得超过400个赞
知道小有建树答主
回答量:370
采纳率:0%
帮助的人:294万
展开全部
假设关闭form1的同时打开form2,直接上代码:

public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
Form1 form1 = new Form1();
if (form1.ShowDialog(this) == DialogResult.OK)
{
// 操作成功后的处理
}
else
{
// 操作失败后的处理
}
}
}

作为例子,这里直接放在构造函数了,当然也可以放到Load事件的处理方法中。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
adocat
2006-09-06 · 超过16用户采纳过TA的回答
知道答主
回答量:56
采纳率:0%
帮助的人:40.3万
展开全部
....哪有这么复杂

你把第一个窗口的对象做为新窗口的构造函数的参数传进去,在新窗口的构造函数里面调用close就可以了!

比如 Form2 frr=new Form2(this);

public class Form2:Form
{
public Form2(Form1 fr)
{
fr.close();
//或者 fr.hide();
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
呼沛槐0R
2006-09-04 · TA获得超过2661个赞
知道大有可为答主
回答量:2135
采纳率:0%
帮助的人:2670万
展开全部
你的表述有错误,但我猜你是在一个Form fr中实例化了一个新Form frr,然后想关闭fr对不对,这样肯定不对的,fr是frr的parent线程
你应该将那部分代码放在主线程类或另外一个静态类中
你把你的问题说详细点
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c24bd1f4e
2006-09-04 · TA获得超过1752个赞
知道小有建树答主
回答量:982
采纳率:0%
帮助的人:565万
展开全部
软件高手们来赚分!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式