在C#WinForms中跟踪多个窗口的最佳方法。C#WinForms,窗口跟踪
例如,我有一个ApplicationContext
这就是用来管理我的应用程序,我有一个方法,用来打开新窗口。
public void CreateWindow(RosterItem Roster)
{
//Check if it is already active, if so, Focus.
MessageWindow MessageWindow = new MessageWindow();
MessageWindow.SetContext(Roster);
MessageWindow.Initialize();
}
话虽这么说,我需要检查,看看是否窗口已经打开,如果它是集中化妆,否则,创建一个新的窗口,并将重点。
考虑到十字线。
问:什么是最好的方法来实现这一点。
所以,你说的是什么,我应该创建自己的收藏'键,Value'和分配UID到每个窗口,然后使用'WindowCollection [UID] .Value.InvokeRequired',这将是最好的方式吗?,我不认为我需要WindowCreate,因为我已经创建了窗体,并且它的启动取决于名册。 – RobertPitt 2010-07-20 12:13:03
我添加了一些示例代码,让您了解该过程。你可以决定你想用什么键,但过程是一样的。 – unholysampler 2010-07-20 14:16:38
或者,您可以将访问权限封装到表单集合并提供您自己的锁定。另外,如果你有很多独立的线程,他们将如何分享表单? – 2010-07-20 15:00:17