我有一个要求,在我的应用程序中应该显示警报框(对话框)。问题是应该首先显示最新的警报,然后在关闭它时显示下一个警报 - 依此类推。所以我决定将对话创建移动到单独的线程,这样就不需要关闭它们以执行剩余的代码。
我做了类似下面的事情。但问题是它们不会以对话的形式出现(可以在不关闭它们的情况下进入主窗体)。所以我决定使用ShowDialog(IWin32Window)
但是它给了我跨线程操作无效的错误。
如何处理这种情况?
private void button2_Click(object sender, EventArgs e)
{
for (int i = 0; i < 3; i++)
{
new Thread(new ThreadStart(ShowDialogue)).Start();
Thread.Sleep(1500);
}
}
private void ShowDialogue()
{
FormDialogue fd = new FormDialogue(-1);
fd.ShowDialog( );
}