]
你这个是不是像QQ的那种切换用户呀,退出当前用户然后显示登录窗,这样即可 private void mnuReLogin_Click(object sender, EventArgs e)
{
if (Utility.ShowQuestionMessage("是否切换用户?") == System.Windows.Forms.DialogResult.Yes)
{
StartExe(Application.ExecutablePath);
Application.ExitThread();
}
} private static void StartExe(string appName)
{
string path = appName;
Process ps = new Process();
ps.StartInfo.FileName = path;
ps.StartInfo.Arguments = "T";
ps.StartInfo.CreateNoWindow = true;
ps.StartInfo.WorkingDirectory = Path.GetDirectoryName(path);
ps.Start();
}
你这个是不是像QQ的那种切换用户呀,退出当前用户然后显示登录窗,这样即可 private void mnuReLogin_Click(object sender, EventArgs e)
{
if (Utility.ShowQuestionMessage("是否切换用户?") == System.Windows.Forms.DialogResult.Yes)
{
StartExe(Application.ExecutablePath);
Application.ExitThread();
}
} private static void StartExe(string appName)
{
string path = appName;
Process ps = new Process();
ps.StartInfo.FileName = path;
ps.StartInfo.Arguments = "T";
ps.StartInfo.CreateNoWindow = true;
ps.StartInfo.WorkingDirectory = Path.GetDirectoryName(path);
ps.Start();
}
如果你是将登陆窗体隐藏了,然后显示主窗体,那么你关闭主窗体,让登陆窗体重新显示,不就得了
而用Applicatcion.Restart();
关闭主窗体,显示登录界面。
IsLogin = false; if (new FrmLogin().ShowDialog() == DialogResult.OK)
{
//登录成功,运行主程序
Application.Run(new FrmMDIMain());
}
else
{
Application.Exit();
}
//当关闭主程序的时候会执行这个代码,在关闭主程序的时候需要给IsLogin 设置成true,那么就goto 到IsLogin,然后又重新回到登录窗口.
if (IsLogin)
{
goto IsLogin;
}
{
Form2 fm2 = new Form2();
Program.context.MainForm = fm2;
fm2.Show();
this.Close();
}program.cs internal static ApplicationContext context = new ApplicationContext(new Form1());
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
//Application.SetCompatibleTextRenderingDefault(false);
Application.Run(context);
}
这个对我的程序管用,虽然不知道StartExe方法里面的代码什么意思,谢谢您,如果不介意,您能说说这是什么意思吗
这个对我的程序管用,虽然不知道StartExe方法里面的代码什么意思,谢谢您,如果不介意,您能说说这是什么意思吗
Utility.ShowQuestionMessage("是否切换用户?") 这个只是一个MessageBox.Show的封装,你可以去掉或改用MessageBox
StartExe 这个就是转一个路径启动exe ,,,
StartExe(Application.ExecutablePath);
Application.ExitThread();
你可以理解先启动一个exe 然后关掉当前进程
能不能改成while啊,看到goto就想吐槽。能不用goto还是不要goto了。
Application.Restart();
Applicatcion.Restart();