【发布时间】:2013-03-11 09:54:02
【问题描述】:
我正在使我的程序多线程,因为它是 Bukkit (Minecraft) 的服务器管理器,这对于某些系统来说相当繁重。现在我面临一个小问题。当我想打开一个新的子表单时,我不能告诉中心父。它只是不做我告诉表格要做的事情。我已经找到了解决方法,但我不知道是否可以更轻松地完成,或者我是否必须更改其他内容。
这是我的密码:
Works
private void ThreadFrmSettings()
{
Form frmSettings = new frmSettings();
frmSettings.StartPosition = FormStartPosition.Manual;
frmSettings.Location = new Point(Location.X + (Width - frmSettings.Width) / 2, Location.Y + (Height - frmSettings.Height) / 2);
frmSettings.ShowDialog();
}
不起作用
var frmSettings = new frmSettings();
frmSettings.ShowDialog();
这种行为正常吗?谢谢!
【问题讨论】:
-
From的StartPosition = FormStartPosition.CenterScreen;属性怎么样? -
多线程是什么让你特别烦恼? “ShowDialogue”的默认行为不是“centerparent”,无论您是否有多个线程。
-
@MadScienceDreams 当我删除多线程时,代码可以完美运行:/.
-
你没有告诉 frmSettings 关于父母的事情。
标签: c# multithreading winforms