从主窗体打开另一个窗体,然后在C#项目上关闭主窗体
我正在处理一个C#Windows窗体项目,其中主窗体是一个登录窗体,登录成功后我将调用另一个窗体,但我的问题是,如何将被调用的窗体设置为主窗体,然后关闭最初创建的窗体?您可能只想从主窗体打开另一个窗体,然后在C#项目上关闭主窗体,c#,forms,winforms,C#,Forms,Winforms,我正在处理一个C#Windows窗体项目,其中主窗体是一个登录窗体,登录成功后我将调用另一个窗体,但我的问题是,如何将被调用的窗体设置为主窗体,然后关闭最初创建的窗体?您可能只想显示()新窗体,然后隐藏()登录表单 var secondForm = new MyForm(); // or whatever the name of your form is secondForm.Show(); this.Hide(); 您可以在登录表单上调用Close()而不是Hide(),但这将结束应用程序。
显示()
新窗体,然后隐藏()
登录表单
var secondForm = new MyForm(); // or whatever the name of your form is
secondForm.Show();
this.Hide();
您可以在登录表单上调用Close()
而不是Hide()
,但这将结束应用程序。您可以在Program.cs
中的Main
方法中看到这一点,它可能看起来像:
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new LoginForm());
}
//
///应用程序的主要入口点。
///
[状态线程]
静态void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
运行(新的LoginForm());
}
一旦Application.Run
中的初始LoginForm
关闭,程序结束。您可以通过更改Main()
的功能(即打开的初始表单)来更改此设置。例如,您可以将第二个表单设置为主表单,如果用户未登录,则在form\u Load
事件中隐藏自己
因此,根据您的工作流程,从Show()
、Hide()
和Close()
的角度来考虑这些表单是很有帮助的。任何时候都可以存在任意数量的表单,您只需根据您的工作流控制向用户显示哪些表单即可
如果您想显式退出应用程序,但初始表单是隐藏的,您可以从其他地方调用
application.exit()
。您是否尝试过自己寻找答案?您可以很容易地找到这一点。使用.NET
@Brian中内置的和方法这是一个winforms问题,而不是WPF@stuartd-Winforms也有这些方法。可能是复制的,或者你抢先一步,先生+1.