次のコードで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にはいくつかのサブクラスがあり、それらのサブクラスの1つを使用している場合は、と比較すると、見逃してしまいますtypeid
。
as
代わりに、動的キャスト( C#のキーワードと同等)を実行し、 nullをチェックします。
Button b = dynamic_cast<Button^>(c);
if(b != nullptr) { ... }