菜鸟求助,关于窗口的隐藏和关闭 我做了一个登陆程序,我是利用Form1(登陆窗口)隐藏后显示Form2的方法来实现登陆。现在的问题是Form1登陆成功被隐藏了显示Form2,点右上的“x”(“关闭”符号)后将Form2关闭,并不能关闭整个程序,Form1还在运行,每次都要到进程里面把程序关掉。问题是:能有什么方法点击Form2右上的“x”就能关闭整个程序???? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Form1里面加上Form2的Close事件,当触发这个事件的时候就把Form1关掉 启动窗体最好设为Form2if(Form1.ShowDialog()==DialogResult.OK)){ Application.Run(new Form2());} 我用close事件,连Form2也一起关掉了啊…… 没懂楼主的意思,我是说Form1里面加FORM2.Closed += new EventHandler(Form2_Closed);然后再Form2_Closed事件里面加上this.Close(); Main方法static Main (){ Form1 frmEn = new From1(); if(frmEn.ShowDialog()==DialogResult.OK)) { Application.Run(new Form2()); }}Form1 窗体放一个Button,在Button单击事件里判断登陆是否成功,成功则this.DialogResult = DialogResult.OK; 重载form2的closeing override closing() protected override void WndProc(ref Message m){ const int WM_SYSCOMMAND = 0x0112; const int SC_CLOSE = 0xF060; if (m.Msg == WM_SYSCOMMAND && (int) m.WParam == SC_CLOSE) { Application.Exit(); return; } base.WndProc(ref m); }在form2中加个这个方法就可以点击Form2右上的“x”就能关闭整个程序 不过用fellowcheng(浮云一小朵) 的方法比较好 汗~~~~有这么复杂吗-_-要在Form2中点X关闭整个程序在Form2的Closing(VS.Net2005为FormClosing)事件中写代码 private void Form2_Closing(object sender, FormClosingEventArgs e) { Application.Exit(); }就行了 虽然不太明白楼主的意思,但是给给段代码,希望对楼主有点用处。登陆程序窗体和控件:登陆窗体Name为Login,登陆后的窗体Name为MainForm。LoginForm有个button,Name为btnLogin,Text为"登陆".效果:点击"登陆"按钮隐藏Login窗体,show出MainForm窗体,关掉MainForm窗体后,Login窗体再显示出来。实现:双击"登陆"按钮,在按钮的Click事件中写 private void btnLogin_Click(object sender, EventArgs e) { MainForm A = new MainForm(); this.Hide(); A.ShowDialog(); this.Show(); } 打错了.....窗体和控件:登陆窗体Name为Login,登陆后的窗体Name为MainForm。Login有个button,Name为btnLogin,Text为"登陆". 在FORM2的CLOSEIG事件下写:Application.Exit();好象也可以 感谢fellowcheng(浮云一小朵),可以了 //重写这个类的回调函数,回调函数是指当有事件发生时候,系统会自动调用的函数protected override void WndProc(ref Message m){const int WM_SYSCOMMAND = 0x0112; //消息,表明用户按下菜单,或者按钮const int SC_CLOSE = 0xF060; //系统关闭的消息,当你点CLOSE的时候就会发生if (m.Msg == WM_SYSCOMMAND && (int) m.WParam == SC_CLOSE){ //如果用户按了那个X,就终止整个程序Application.Exit();return;} base.WndProc(ref m); //调用父类的回调函数}还是我来帮你解释吧 当datagridviw设置为选择整行情况时,复制单元格的值出现错误 winform 新增数据后关闭窗口,如何刷新父窗体,重新加载数据? 急!如何在全局程序集缓存中安装程序集stdole 怎样防止用户在浏览器中输入 崩溃,asp.net2.0中自定义用户控件事件丢失问题.解决问题500分,UP有分 C#打包程序后,安装没问题,修复操作时报错!急!!! 请在.net里怎么写验证码 20分 谢谢帮解答下吧 大家帮忙看看这个错误 计算的一个问题 关于oleCommand 图标及图像问题 ACCESS连接,大家速度啊
{
Application.Run(new Form2());
}
然后再Form2_Closed事件里面加上this.Close();
static Main ()
{
Form1 frmEn = new From1();
if(frmEn.ShowDialog()==DialogResult.OK))
{
Application.Run(new Form2());
}
}Form1 窗体放一个Button,在Button单击事件里判断登陆是否成功,成功则
this.DialogResult = DialogResult.OK;
override closing()
{
const int WM_SYSCOMMAND = 0x0112;
const int SC_CLOSE = 0xF060;
if (m.Msg == WM_SYSCOMMAND && (int) m.WParam == SC_CLOSE)
{
Application.Exit();
return;
}
base.WndProc(ref m);
}
在form2中加个这个方法就可以点击Form2右上的“x”就能关闭整个程序
要在Form2中点X关闭整个程序在Form2的Closing(VS.Net2005为FormClosing)事件中写代码
private void Form2_Closing(object sender, FormClosingEventArgs e)
{
Application.Exit();
}
就行了
窗体和控件:登陆窗体Name为Login,登陆后的窗体Name为MainForm。LoginForm有个button,Name为btnLogin,Text为"登陆".效果:点击"登陆"按钮隐藏Login窗体,show出MainForm窗体,关掉MainForm窗体后,Login窗体再显示出来。实现:
双击"登陆"按钮,在按钮的Click事件中写
private void btnLogin_Click(object sender, EventArgs e)
{
MainForm A = new MainForm();
this.Hide();
A.ShowDialog();
this.Show();
}
好象也可以
{
const int WM_SYSCOMMAND = 0x0112; //消息,表明用户按下菜单,或者按钮
const int SC_CLOSE = 0xF060; //系统关闭的消息,当你点CLOSE的时候就会发生
if (m.Msg == WM_SYSCOMMAND && (int) m.WParam == SC_CLOSE)
{ //如果用户按了那个X,就终止整个程序
Application.Exit();
return;
}
base.WndProc(ref m); //调用父类的回调函数
}还是我来帮你解释吧