C# Windows Form启动时始终最小化

3
我开发了一个C# Windows表单。 起初,Windows表单工作正常。 然而,有一天Windows表单总是最小化启动,我不知道原因。 我检查了WindowStateNormal而不是Minimized。 我该怎么解决呢?谢谢!
编辑:
我对每个代码块进行了注释,以缩小范围以定位问题点。 我发现在我的主窗体中使用了驱动器检测器。 当创建该实例时,必须将调用窗体作为参数传递给构造函数。 否则,驱动器检测器将创建一个隐藏的表单。然而,主窗体将被最小化。
下面的代码将不会创建一个隐藏的表单。
driveDetector = new DriveDetector(this);

下面的代码将创建一个隐藏表单,它会干扰调用Windows表单。
driveDetector = new DriveDetector();

这种情况从什么时候开始的?如果您使用版本控制系统,您可以查看两个提交之间发生了什么变化... - Willem Van Onsem
@CommuSoft 这是个好主意。不幸的是,我没有使用过任何版本控制系统... - Andy
7个回答

4

尝试在表单加载事件中添加此代码并测试

this.WindowState = FormWindowState.Normal;

2

尝试从代码层面添加以下内容来表示Windows状态。

    private void Form1_Load(object sender, EventArgs e)
    {
        this.WindowState = FormWindowState.Normal;
    }

2

如果你想要默认以全屏方式打开窗口,你应该使用 WindowState = FormWindowState.Maximized。你可以在 Form load 事件中编程实现这一点。

还有其他各种选项可供选择,以控制如何打开窗体。


我将 WindowState 更改为 Maximized,但它也被最小化了。它在后台最大化了。 - Andy
如果我将“TopMost”设置为true,则问题得到解决。但是我不希望窗体始终处于顶部... - Andy
表单的 IsMdiContainer 属性为 false。 - Andy
你的应用程序中还有其他表单吗?还是这个是唯一的? - SoftSan
我在应用程序中有许多表单,问题出现在主表单上。 - Andy

2

1. 检查您是否将表单大小设置为较小的值。

2. 尝试重新构建您的解决方案。

3. 从表单的事件属性中添加表单加载事件,并添加以下代码:

this.WindowState = FormWindowState.Normal;


2

尝试在表单激活事件中完成

    bool bIsLoaded = false;
    private void Form1_Activated(object sender, EventArgs e)
    {
        if (!bIsLoaded)
        {
            this.WindowState = FormWindowState.Maximized;
            bIsLoaded = true;
        }
    }

这个解决了我的问题。 - undefined

0

我会在每个代码块中添加注释,以缩小范围以定位问题点。 我发现我在我的主窗体中使用了一个Drive Detector。 当创建该实例时,必须将调用窗体作为参数传递给构造函数。 否则,Drive Detector将创建一个隐藏的窗体。但是,主窗体将被最小化。

以下代码将不会创建隐藏的窗体。

driveDetector = new DriveDetector(this);

以下代码将创建一个隐藏的表单,它将干扰调用 Windows 表单。
driveDetector = new DriveDetector();

0

试试这个:

Topmost = true;

在你的Form_Load事件中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接