3

我想使用ErrorProvider Class在複選框上顯示錯誤。我可以用下面的代碼錯誤C2039:'Dispose':不是'System :: Windows :: Forms :: ErrorProvider'的成員

errorProvider1->SetError(checkBox1,"Error"); 

顯示錯誤但是,當我嘗試使用下面的代碼

errorProvider1->Dispose(); 

處理此ErrorProvider控件,這一行是顯示錯誤

error C2039: 'Dispose' : is not a member of 'System::Windows::Forms::ErrorProvider' 

此代碼我能夠在vc#中成功運行,但不能在vC++中運行;

但是因爲我的要求是在vC++中使用它。

任何人都可以告訴我這段代碼有什麼問題。

由於提前

回答

4

this article,該IDisposable模式是C++/CLI不同,你不能執行或致電該語言Dispose()方法。

您必須使用delete操盤手:

errorProvider1->SetError(checkBox1,"Error"); 
delete errorProvider1; // Equivalent to errorProvider1->Dispose(). 
+2

更重要的是,剛剛宣佈'errorProvider1'與堆棧語義所以沒有'delete'調用是必要的。 – ildjarn 2012-07-11 20:20:20

+0

@FrédéricHamidi感謝您的回覆,現在工作正常。 – 2012-07-12 04:42:21

+0

@ildjarn感謝您的回覆...我如何使用errorProvider1與堆棧語義。你能解釋一下嗎? – 2012-07-12 04:44:50

相關問題