2013-05-20 57 views
0

我正在使用Telerik的radcontrols for winforms。telerik的radcontrol導致交叉線程異常

這裏是可以重現我的問題的程序:

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消息框,那麼它將工作得很好。

也許我在這裏失去了一些東西。

UPDATE:

爲別人有同樣的問題,這是官方回覆Click here

回答

2

在WinForm MessageBox類是專爲能夠從非UI線程調用的鏈接。

RadMessageBox根本就沒有。它的設計假設它會從UI線程中調用。

+0

建議的解決方案? –

+0

@WinCoder從UI線程調用該方法。 – Servy

+0

好....以上只是我重現問題的一個示例代碼。從UI線程調用控件需要對生產代碼進行重大調整。 –

相關問題