- ベストアンサー
楽なやり方教えてください
- ラベル1~ラベル10まで用意されているコマンドボタンをクリックするたびにランダムに色を変える(1~10まですべてばらばらです)。エラーが出るため、使い方が間違っているのかわかりません。また、ラベル1~10までをforで処理する方法があるのか疑問です。
- ラベル1~ラベル10まで用意されているコマンドボタンをクリックするたびにランダムに色を変えたいですが、エラーが発生しています。正しい使い方がわからず困っています。また、ラベル1~ラベル10までをforで処理する方法があるか教えてください。
- .NETでラベル1~ラベル10までをクローン(?)する方法がわかりません。コマンドボタンをクリックするたびに1つずつクローンしたいのですが、うまくできません。どうすれば良いでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じですね。 コレクションを使わないでやる方法は、参考URLにて回答してます。 Public Class Form1 Inherits System.Windows.Forms.Form Dim colButtons As Collection 'Form_Load時にコレクションにボタンを登録 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles MyBase.Load colButtons = New Collection() With colButtons .Add(Me.Button1) .Add(Me.Button2) .Add(Me.Button3) .Add(Me.Button4) .Add(Me.Button5) End With End Sub 'Button1~Button5がクリックされたら、この処理が走る Private Sub Button_Click(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Button1.Click, Button2.Click, Button3.Click, Button4.Click, Button5.Click Dim i As Long Dim Btn As Button For i = 1 To colButtons.Count Btn = colButtons(i) 'FromARGB内は、不透明度,R,G,Bの順(各1バイト) ~.Color.Gold などでもOK 'QBColor関数で返る値はGBRの順(だった筈)なので、使うのに工夫が要るかも。 Btn.BackColor = System.Drawing.Color.FromArgb(&HFFFF8833) Btn.Text = i.ToString Next i End Sub End Class
お礼
ご回答ありがとうございます。