如何检查窗口是否打开并关闭它在C#
答
你真的应该被跟踪这种事情你自己的应用程序&hellip内;
但是,因为它听起来像你不是,你可以依靠WPF为你做。它跟踪所有打开的窗口在您的应用程序,通过Application.Current.Window
收集暴露的,所以你可以通过这个集合进行迭代,寻找一个匹配你感兴趣的类型的窗口
例如:
foreach (var wnd in Application.Current.Windows)
{
if (wnd is MyWindow)
{
// We found one!
//
// Close it or do something else interesting here.
}
}
答
while(true)
{
SearchAndDestroy("MyProgProc");
}
public SearchAndDestroy(string programname)
{
foreach (Process _proc in Process.GetProcesses()) {
if (_proc.ProcessName.StartsWith(name))
_proc.Kill();
}
}
I.E你的程序有两种形式。 从另一个表单中调用关闭表单。 添加按钮备考:
private void button_click(object sender, eventArgs e)
{
FormB.ActiveForm.Disposed+= new EventHandler(CloseFormB)
}
private void CloseFormB(object sender, eventArgs e)
{
FormB.ActiveForm.Dispose();
}
+0
: - 我想关闭一个特定的窗口时,我在另一个窗口中按下按钮。 – 2012-07-25 09:38:38
答
或者您可以使用像
var isWindowOpen = Application.Current.Windows.Cast<Window>().Any(x => (x == WINDOW));
窗口LINQ是要检查窗口
这是你自己的程序中的一个窗口你在做什么检查?在其他一些程序中?还是你办公室的窗户?请提供一些细节。 – 2012-07-25 09:32:42
@Hans Kesting: - 它是我程序的一个窗口。 – 2012-07-25 09:33:55
你的意思是你的应用程序有两个窗口,当你在一个窗口中单击一个按钮时,另一个窗口应该关闭。这是你的问题吗? – Cdeez 2012-07-25 09:43:35