MessageBox.Show出现在RDC上

时间:2014-07-24 17:28:58

标签: c# messagebox remote-desktop

所以我刚才发布了一个关于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显示在远程桌面连接上?

谢谢, 汤姆

1 个答案:

答案 0 :(得分:1)

我看不出这与远程桌面有什么关系。您在后台线程上使用Form1。必须在UI线程上使用UI控件。

使用各种方法之一调用UI线程并从那里显示您的消息框。