C# 如何在visual studio中更改启动文件?

C# 如何在visual studio中更改启动文件?,c#,visual-studio,winforms,C#,Visual Studio,Winforms,我正在尝试打开一个文件,该文件作为启动文件位于不同的文件夹中。我该怎么做?我正在使用visual studio windows窗体。假设我有一个文件夹名“Forms”,在这个文件夹中我创建了两个表单LoginForm和MainForm。当我运行该项目时,我希望打开表单文件夹中的“LoginForm” 谢谢项目中的每个文件夹都将被视为名称空间,因此您可以通过完整的名称空间访问它 并更改Program.cs中的开始形式 Application.EnableVisualStyles(); Appli

我正在尝试打开一个文件,该文件作为启动文件位于不同的文件夹中。我该怎么做?我正在使用visual studio windows窗体。假设我有一个文件夹名“Forms”,在这个文件夹中我创建了两个表单LoginForm和MainForm。当我运行该项目时,我希望打开表单文件夹中的“LoginForm”


谢谢

项目中的每个文件夹都将被视为名称空间,因此您可以通过完整的名称空间访问它

并更改Program.cs中的开始形式

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Forms.LoginForm());

我理解,您希望在主窗体显示之前显示登录窗体。 您可能还希望使用登录过程的结果来决定要做什么

我的建议是利用这次活动。此事件将在加载表单之前引发。使用visual studio designer添加此事件:

void OnFormLoaded(object sender, ...)
{
    // just before showing the main form show the Login form
    using (var logonForm = new MyLogonForm())
    {
        logonForm.SomeProperty = ...
        logonForm.SomeOtherProperty = ...
        DialogResult dlgResult = logonForm.ShowDialog();

        switch (dlgResult)
        {
            case DialogResult.OK:
                // Operator logged on correctly:
                User loggedOnUser = logonForm.LoggedOnUser;
                ProcessLoggedOnUser(loggedOnUser);
                break;
            case DialogResult.Cancel:
                // Operator decided to cancel logon:
                ProcessCancelledLogOn();
                break;

            case DialogResult.Abort:
                // Operator aborted the startup process: close the program
                LogCloseProgram();
                this.Close();
                break;

             default:
               throw new NotImplementedException(); // TODO: implement
        }
    }
}
     

如果将表单直接添加到项目的子文件夹中,则自动功能(发出衰减)可能已将嵌套命名空间添加到表单中(对应于文件夹的名称-因此不要对这些文件夹使用保留或混淆的名称)。创建此表单的实例时,可以删除它或使用完整定义。e、 g.
var form2=new Forms.form2()
请注意,如果
LoginForm
是您的起始表单,则在关闭该表单时,也会关闭应用程序。打开项目中的“Program.cs”文件。查找…
Application.Run(newformx())…在本例中,运行“FormX”。将其更改为项目运行时要启动的表单。是否确定此行为?请出示一些参考资料。我不是说你错了,但我从未听说过这一点,仅仅因为我的文件夹组织而创建名称空间似乎有点糟糕。在文件夹中向项目添加项目时,默认行为是将名称空间与文件夹一起使用。如果在根目录中创建项并将其移动到文件夹中,则不会自动更改命名空间。但是直接在文件夹中创建它会将文件夹附加到名称空间中。