c# - 当我启动它时,我的表单打开然后关闭
问题描述
当我尝试启动我的表单时,它会像从未打开过一样闪烁。
我已经查看了我的代码,没有任何问题
这是我的代码:
public partial class Initialization : Form
{
public Initialization()
{
InitializeComponent();
}
private async Task Wait1(int Milliseconds)
{
await Task.Delay(Milliseconds);
}
private async void Wait(int Millisecondsdew)
{
Wait1(Millisecondsdew);
}
private void Initialization_Load(object sender, EventArgs e)
{
MessageBox.Show("Initialization");
///Setup Stuff///
ShowIcon = false;
ControlBox = false;
FormBorderStyle = FormBorderStyle.FixedDialog;
Text = "";
/// Start Initializing///
richTextBox1.Text = "Initializing....";
Wait(1000);
if (File.Exists(@"C:\Program Files (x86)\Lazy Tools\AdditionalFiles.exe"))
{
richTextBox1.Text = "Initializing.... \n Software Installers 1 Exists";
Wait(1000);
if (File.Exists(@"C:\Program Files (x86)\Lazy Tools\SoftwareInstallers2.exe"))
{
richTextBox1.Text = richTextBox1.Text + "\n Software Installers 2 Exists";
Wait(1000);
}
else
{
MessageBox.Show("Please reinstall software store, \n Software Installers 2 is missing");
}
}
else
{
MessageBox.Show("Please reinstall software store, \n Software Installers 1 is missing");
}
}
}
异步在我的第一种形式上运行良好,但这是第二种形式。当我调用第二个表格时,它会闪烁,就像从未打开过一样。
解决方案
显然,将ControlBox
属性设置为 false ,然后在表单加载后将属性设置Text
为空字符串会导致表单关闭(这似乎是一个错误)。
重现问题的代码:
// Using other events like `Form_Shown` or even a `Button_Click` still has the same behavior
private void Form1_Load(object sender, EventArgs e)
{
this.ControlBox = false;
this.Text = "";
}
作为一种解决方法,您可以改为将FormBorderStyle
属性设置为FormBorderStyle.None
:
this.FormBorderStyle = FormBorderStyle.None;
..这将产生与您想要达到的效果类似的效果。这实际上是隐藏标题栏的标准方法。
如果您不想隐藏边框或者您确实想使用ControlBox
和Text
属性,您可以执行以下任何操作:
在设计时设置这两个属性。或者...
将这两行移到表单的构造函数中:
public Initialization() { InitializeComponent(); this.ControlBox = false; this.Text = ""; }
或者确保在
Text
属性之前设置ControlBox
属性:private void Initialization_Load(object sender, EventArgs e) { this.Text = ""; this.ControlBox = false; }
推荐阅读
- python - 如何将 Python 代码与 HTML 网页链接?
- mysql - 在 mysql 中对 2 个查询的输出执行计算
- python - 网页抓取和传输数据excel python
- bash - Bash 删除参数 $@ 的字符串列表中的重复项
- nlp - 将 AllenNLP 解释与 HuggingFace 模型一起使用
- django - 使用三元运算符时无法解析余数错误?
- beautifulsoup - BeautifulSoup:如何从标签中获取文档元素?
- power-automate - Power Automate:从返回的表中获取值
- tree - 使用级别顺序遍历的二叉树顶视图
- performance - Azure AppInsights - 快照调试器 - 应用工作区数据存储解决方案