每當我想讓用戶拖動一個控件,我調用該控件的DoDragDrop。從另一個線程DoDragDrop()
拖動&降工作正常,但我有乾坤問題:
的DoDragDrop徹底阻斷的形式,沒有計時器事件猛增,處理沒有油漆的消息。
DoDragDrop阻止不僅爲拖動操作,而且直到目標程序完成拖放事件(I.E. explorer.exe的吸吮代碼)。取決於其他程序的代碼是很爛的。
我想從一個新線程調用DoDragDrop。
嘗試這樣做:
Thread dragThread = new Thread(() =>
{
Form frm = new Form();
frm.DoDragDrop("data", DragDropEffects.All);
});
dragThread.SetApartmentState(ApartmentState.STA);
dragThread.IsBackground = true;
dragThread.Start();
,但它似乎並不工作。我的意思是:當像這樣從其他線程執行DoDragDrop時,我的程序或其他程序中的其他控件不會收到拖放消息。
其他解決方案?
你怎麼樣提供有關故障的不是「它似乎並沒有一些更多的信息工作」? – Timwi 2010-08-21 16:48:54
當像這樣從其他線程執行DoDragDrop時,我的程序或其他程序中的其他控件不會收到拖放消息。 – DxCK 2010-08-21 16:56:13