私は自分の問題を質問したかった。 ボタン1、ボタン2、ボタン3の3つのボタンを作ります。一つのボタンをクリックすると、ボタンの色が変わります。私はこのようなコードを使用しています。ボタンを制御する
For Each ctrl As Control In frm.Controls
If ctrl = button Then
ctrl.backcolor = color.red
End If
Next
まだエラーがあります。私
私は自分の問題を質問したかった。 ボタン1、ボタン2、ボタン3の3つのボタンを作ります。一つのボタンをクリックすると、ボタンの色が変わります。私はこのようなコードを使用しています。ボタンを制御する
For Each ctrl As Control In frm.Controls
If ctrl = button Then
ctrl.backcolor = color.red
End If
Next
まだエラーがあります。私
を助けてください右のコードは次のようになります。コードは以下の
For Each ctrl As Control In frm.Controls
If TypeOf ctrl Is Button Then
DirectCast(ctrl,Button).BackColor = Color.Red
End If
Next
用途:
For Each ctrl As Control In Controls
If TypeOf ctrl Is Button Then
ctrl.BackColor = Color.Red
End If
Next
あなたは間違って何をしているがタイプとインスタンスを比較しています。あなたがする必要があるのは、あるインスタンスのType
をもう1つのType
と比較することです。
ボタンのプロパティ(BackColorなど)を使用する前に 'Ctrl 'を' Button'にキャストする必要があると思います。 – Oded
いいえ、 'BackColor'は' Button'クラスがオーバーライドする 'Control'クラスのプロパティです。多態性: – decyclone
私の主張は、['Control'](http://msdn.microsoft.com/en-us/library/system.web.ui.control.aspx)に' BackColor'プロパティがないことです。しかし、「WebControl」はそうです。 – Oded
これは最善の方法ではありません。以下のオプションを見てください。
Sub buttons_click(sender as Object, e as event) Handles button1.Click,
_ button2.Click,
_ button3.Click
sender.backcolor = color.red
End Sub
申し訳ありませんが、構文が少しオフになっていると、私はVBを行ってからしばらくです。
これが役に立ちます。
ボタンのプロパティ( 'BackColor'など)を使用する前に' sender'を 'Button'にキャストする必要があると思います。 – Oded
ちょうどそれをテストし、それは動作します。おそらくそれをキャストするのは安全でしょう。 –
エラーの内容を正確に記述する必要があります。 – gideon