如何在下面的代碼中檢查Control ^是否是Button?檢查控件是否是C++/cli中的按鈕
System::Void DisableControls(Control ^parent)
{
for each (Control^ c in parent->Controls)
{
if(c== /*Check for Button*/)
{
//Do something
}
}
}
如何在下面的代碼中檢查Control ^是否是Button?檢查控件是否是C++/cli中的按鈕
System::Void DisableControls(Control ^parent)
{
for each (Control^ c in parent->Controls)
{
if(c== /*Check for Button*/)
{
//Do something
}
}
}
你沒有指定是否使用的WinForms或WPF。 WinForms按鈕System.Windows.Forms.Button沒有任何內置子類,但WPF按鈕System.Windows.Controls.Button確實有一些子類,如果您使用的是其中一個子類,那麼如果與typeid
進行比較,則會錯過它。相反,我會做動態投射(相當於C#中的as
關鍵字),並檢查null。
Button b = dynamic_cast<Button^>(c);
if(b != nullptr) { ... }
你打算測試'b',而不是'c',對嗎? –
哎呀,很對。固定。 –