C# winform主窗体点击注销显示登录窗体,然后主窗体关闭,包括进程里面也关闭

和QQ很类似,点击注销按钮,关闭主窗体,显示登录窗体,然后换其他帐号登录。
我现在在主窗体代码中写的private void toolbtnQHLogin_Click(object sender, EventArgs e)
{

DialogResult result = MessageBox.Show("- 您确定退出,更换其它账号吗?", "退出", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
if (result == DialogResult.OK)
{
this.Hide();
LoginForm lf = new LoginForm();
lf.Show();
}
}
这里只把主窗体隐藏了,进程里面还在,换帐号登不上!
请各位高手指点下。小弟刚接触C/S

//点击注销按钮事件里面写:
if (MessageBox.Show("您确定要注销登录吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
 { 
    Application.Exit();                          
    System.Diagnostics.Process.Start(System.Reflection.Assembly.GetExecutingAssembly().Location);
 }

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-08-16
if (MessageBox.Show("确定要注销程序?", "安全提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
{
Application.Restart();
}
第2个回答  2014-06-30
你是用的socket吗 ?

怎么用C#写一段注销窗体的代码
你的主窗体不再这两个里面吧!注销你把登录成功的按钮关闭掉,再显示登录窗体就是了。还有主窗体是不能关闭的,主窗体管了程序就结束了,只能隐藏。

C# winform 点击一个按钮退出窗体 并关闭相应的进程
如楼上所示,直接在按钮的单击事件中写this.Close();就可以关闭窗体,同时相应的进程会自动关闭,不需要你自己处理。如果你是需要关闭进程的代码,则如下:先确定你的进程 Process[] plist = Process.GetProcessesByName("这里输入你的窗体名称");Process p = plist[0];结束进程的方式: p.Kill()...

C#winform 点红叉叉按钮关闭一form后,后台仍在运行
1.this.close(); \/\/关闭子窗体不能结束程序运行,只有关闭主窗体才能结束 2.Application.Exit();\/\/无论对哪个窗体执行此方法,都会结束 你的可能是主窗体被隐藏,所以单击子窗体上的关闭按钮是没用的 解决方法:在你所使用的窗体的 FormClosed 事件中添加 Application.Exit();...

C#中在一个窗体中点击弹出另一个窗体,同时关闭本窗体
点击按钮后this.Hide();new Form2().Show();隐藏后要让他显示的话 再次调用控件的Show()方法就好了

C#的 winform程序,登录完了怎么关掉登录窗体?
合理的做法是程序启动的时候直接启动主程序窗体,主程序在加载的时候判断用户是否登录,或是否有相关登录凭证,如果没有就弹出登录窗口要求登录。用户登录成功后关闭登录子窗口。

c#\/winform 为什么打开两个窗口,前者非模态, 后者模态, 当前者定时...
你执行了窗体的close函数,这个和模态非模态没有关系。为什么要弄个定时器呢?写的程序要保证整个运行是可控制的

C# 登录窗体跳转至主窗体后,登录窗体关闭;如何把登录窗体的用户名,传到...
首先,不应该在这里做登录窗口的调用,应该在Index的构造函数位置进行Login的调用 其次,在Login中声明属性UserName进行用户名的获取 public string UserName{get{return tb_UserName.Text.Trim()}} \/\/tb_UserName为用户名输入编辑框 最后,在Login实例调用语句 里获取UserName属性就可以了 if (frLogin....

C#\/Winform,为什么子窗口自动定时关闭后,主窗口弹出的MessageBox也自动...
当你打开messagebox的时候没有指定其owner,那么当前的活动窗口会被自动设置为其owner。在你的代码中,打开的信息框的owner即是form2.因此,当你的form2关闭时,所属的messagebox作为一个子窗口也将会被自动关闭。而form则不会有此影响,因为form都是顶级窗口,它没有owner,所以不会互相影响。要避免此...

C#的winform中,窗口间的切换 和关闭
例如 有二个窗体类 form1、form2 两个窗口之间的切换,显示一个就隐藏另一个:form2 f1=new form2();f2.show();this.hide();(this 即为当前窗体类form2 )关闭其中一个就关闭整个程序:application.exit();这是将这个运行的程序关闭,就可将这两个窗体都关闭。

C#中winform中有什么办法区分Close()和点击窗体右上角关闭按钮来关闭窗...
在C#的WinForm程序中,有的时候需要判定关闭请求从哪里发出来的。比如是用户点击了右上角的“关闭”按钮,还是调用了WinForm.Close()方法。最典型的是要知道点击右上角的“关闭”按钮发出的事件。下面这个方法可以判断这点:protected override void WndProc(ref Message msg){ const int WM_SYSCOMMAND =...

相似回答