您的位置:首页 > 其它

关于 WPF 在主窗口中用多线程打开的子窗口关闭后进程还存在,这个问的题的解决方法。

2013-02-23 22:08 519 查看
关于 WPF 在主窗口中用多线程打开的子窗口关闭后进程还存在,这个问的题的解决方法。

[b] this.Dispatcher.Thread.Abort() [/b]

下面是例子代码主窗口:

void method()

{

Thread newWindowThread = new Thread(new ParameterizedThreadStart(showNewWindow));

newWindowThread.SetApartmentState(ApartmentState.STA);

newWindowThread.Start(msgClass);

}

void showNewWindow(object msgClass)

{

MsgClass mc = msgClass as MsgClass;

WTalk wt = new WTalk(mc, server); //New 子窗口

wt.Show();

System.Windows.Threading.Dispatcher.Run(); //这个必须有不然窗口一闪而过

}


子窗口代码:

private void btnCloss_Click(object sender, RoutedEventArgs e)

{

// this.Close(); //用这个在所有窗口关闭后,在Windows任务管理器中还会看到程序的进程。

this.Dispatcher.Thread.Abort(); //这句能关闭多线程中开启的自身线程关闭后不会停留在主进程。

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐