2013-09-21 106 views
4

我已經開始變得在VS2012最終的InvalidOperationException說任何項目的任何用戶控件放置在任何地方一個消息時:出現InvalidOperationException在

「調度處理已經暫停,但消息仍在處理中。」

...只要我在UserControl的代碼隱藏中的任何位置撥打MessagBox。目前這似乎影響到我的計算機上的每個項目,包括我下載的項目以及除UserControl本身之外沒有真實代碼的新項目。這似乎隻影響UserControl s,但是;標準類和Windows的代碼隱藏工作正常。


System.InvalidOperationException發生

的HResult = -2146233079

消息=分派器處理已被暫停,但消息仍然被處理。

源= WindowsBase

堆棧跟蹤: 在System.Windows.Threading.Dispatcher.WndProcHook(IntPtr的HWND,MSG的Int32,IntPtr的wParam中,IntPtr的lParam的,布爾&處理)

的InnerException:


InnerException是空的,因爲根據VS,它是空的。這個問題對任何人都有意義嗎? Google搜索之後,我發現了一些引發此異常的情況,但這些情況都不是這樣的。我希望這裏的某個人可能會對可能造成這種情況的一些知識有所瞭解,並可能在我重新安裝VS並希望獲得最佳效果之前幫助我。

任何想法如何解決這一點將不勝感激。


每馬克·霍爾的要求:A類,因爲這將導致異常簡單:

public partial class TestView : UserControl 
{ 
    public TestView() 
    { 
     InitializeComponent(); 

     System.Windows.MessageBox.Show("Test"); 
    } 
} 
+0

請顯示您用於實例化MessageBox的代碼 –

+0

我已更新該問題。 –

+0

似乎你可以在UI線程上顯示MessageBox以避免該異常http://stackoverflow.com/questions/7442943/dispatcher-throws-invalidoperationexception-on-messagebox-show-in-textchanged-ev – keyboardP

回答

0

漢斯帕桑特是正確的,你真的不應該試圖在構造函數中顯示一個消息框。構造函數不僅在運行時被調用,而且在設計時也被調用。

如果您將此用於調試目的,請嘗試寫入日誌文件或Console.WriteLine(...)。

相關問題