gpt4 book ai didi

c# - 尝试创建开始最小化的表单时出现 StackOverflowException

转载 作者:行者123 更新时间:2023-11-30 16:24:38 35 4
gpt4 key购买 nike

我的问题很简单。我有这个新表格,我只是编写代码:

    public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.Resize += new EventHandler(Form1_Resize);

this.WindowState = FormWindowState.Minimized;
}

private void Form1_Resize(object sender, EventArgs e)
{
if (WindowState == FormWindowState.Minimized)
{
ShowInTaskbar = false;
}
else if (WindowState == FormWindowState.Normal)
{
ShowInTaskbar = true;
}
}
}

我希望此窗体开始最小化,并且我想仅在窗体未最小化时显示任务栏图标。但是当我运行它时,我收到一个 StackOverflowException。我认为 ShowInTaskbar = false 正在调用调整大小方法。

最佳答案

将自动最小化放在“加载”事件中,而不是构造函数中。

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.Resize += new EventHandler(Form1_Resize);
this.Load += new EventHandler(Form1_Load);

}

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

private void Form1_Resize(object sender, EventArgs e)
{
if (WindowState == FormWindowState.Minimized)
{
ShowInTaskbar = false;
}
else if (WindowState == FormWindowState.Normal)
{
ShowInTaskbar = true;
}
}
}

我不完全确定为什么这可以防止堆栈溢出,但一旦我发现,我会更新答案。我在重现问题后对其进行了测试,可以确认它可以正常工作!

关于c# - 尝试创建开始最小化的表单时出现 StackOverflowException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10640319/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com