如何检查以下代码中的 Control^ 是否为 Button^?
System::Void DisableControls(Control ^parent)
{
for each (Control^ c in parent->Controls)
{
if(c== /*Check for Button*/)
{
//Do something
}
}
}
如何检查以下代码中的 Control^ 是否为 Button^?
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
。
相反,我会进行动态转换(相当于as
C# 中的关键字),并检查是否为空。
Button b = dynamic_cast<Button^>(c);
if(b != nullptr) { ... }