[英]C# dynamic label blank
我创建了一个非常基本的控制台应用程序,该应用程序在后台执行一些代码。 在执行此操作时,它会生成一个自定义消息框(从技术上来说是Windows窗体),该消息框仅显示一个标签告诉用户请稍候。 问题是标签永远不会显示(这只是标签应该在的大白框)。 我尝试创建动态标签并将其放置在此处,但这也行不通。
该表格以以下方式显示:
public void DoSomething()
{
MyForm form = new MyForm();
form.Show();
try {
// Execute other logic
} finally { form.Close(); }
}
我猜它与调用Show()有关,但我并不乐观。 我输入日志记录,看到它正在通过构造函数,生成了动态标签(通过Controls.Add(myLabel)添加到表单中),但是它仍然不显示任何标签。
Form
要求启动消息泵以正确显示。 这需要调用Application.Run 。 不幸的是,这将阻塞当前线程,直到“应用程序”完成为止,因此将无法仅“插入”您的代码。
话虽如此,如果您正在开发需要Windows的应用程序,则应考虑使其成为真正的Windows应用程序而不是控制台应用程序。 如果需要,您可以隐藏主窗体,这样可以使上面的代码正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.