telerik的radcontrols导致跨线程异常

时间:2013-05-20 19:45:45

标签: c# winforms telerik rad-controls

我正在使用Telerik的radcontrols来获取winforms。

这是一个可以重现我的问题的程序:

public partial class RadForm1 : Telerik.WinControls.UI.RadForm
{
    public RadForm1()
    {
        InitializeComponent();
    }

    private void radButton1_Click(object sender, EventArgs e)
    {
        RadMessageBox.SetThemeName("Office2010Black");
        RadMessageBox.Show("Hello World");
        //MessageBox.Show("hello world");
        run();
    }

    public void run()
    {
        var thread = new Thread(() => run2());
        thread.IsBackground = true;
        thread.Start();
    }

    public void run2()
    {
        //MessageBox.Show("hello");
        RadMessageBox.Show("Hello");
    }
}

每当尝试使用Telerik的消息框时,我都会遇到跨线程异常。但是,如果我使用标准的winform消息框,那么它将完全正常工作。

也许我在这里错过了一些东西。

更新:

对于其他遇到同样问题的人来说,这是指向官方回复Click here

的链接

1 个答案:

答案 0 :(得分:2)

winform MessageBox类专门设计为可以从非UI线程调用。

RadMessageBox根本就没有。它是在假设它将从UI线程调用的基础上设计的。

相关问题