所以我刚才发布了一个关于MessageBox弹出远程桌面连接的问题,我得到的答案(下面)工作正常,直到我决定玩这个程序。
private void Alarm()
{
MessageBox.Show(this,
"Your text",
"Settings Needed",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question
MessageBoxDefaultButton.Button1, // specify "Yes" as the default
(MessageBoxOptions)0x40000);
}
现在我试图从OnChanged事件中调用此方法,并且出现错误
"附加信息:跨线程操作无效:控制 ' Form1中'从创建它的线程以外的线程访问 上"
我的知识在线程上有点受限,但我是否必须为此创建一个新线程?
或者我是否有另一种方法让MessageBox显示在远程桌面连接上?
谢谢, 汤姆
答案 0 :(得分:1)
我看不出这与远程桌面有什么关系。您在后台线程上使用Form1
。必须在UI线程上使用UI控件。
使用各种方法之一调用UI线程并从那里显示您的消息框。