掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
GroupBox について (ID:145285)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
アクアと申します。 微力ながらお手伝い申し上げます。 GroupBoxコントロールの中にある3つButtonコントロールが押され、そのButtonコントロールに応じた分岐処理をしたいという内容でお答えします。 Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles Button1.Click, Button2.Click, Button3.Click For Each ctr As Control In Me.GroupBox1.Controls If TypeOf (ctr) Is System.Windows.Forms.Button Then Select Case DirectCast(sender, Button).Name Case Button1.Name MessageBox.Show(Button1.Text + "が押されました。") Case Button2.Name MessageBox.Show(Button2.Text + "が押されました。") Case Button3.Name MessageBox.Show(Button3.Text + "が押されました。") End Select End If Next End Sub 上記の方法はいかがでしょうか? For文とIf文は記述しないでも動きます。 むしろSelect文だけでの方がこのコードの動きが判りやすいかもしれません。 ポイントはHandles句に3つのButtonコントロールのClickイベントがあるところです。 これで、どのButtonコントロールが押されようとイベントが発生します。 senderにはイベントが発生したオブジェクトが代入されているので、そのオブジェクトの名前に応じた分岐処理をSelect文で行っています。 ご質問の内容の中で、GroupBox1.Textに値が入っていかないとありますが、やじゅさんのご指摘のように値はセットされないため、上記の様な動作についての質問と解釈しました。 違っていたらお知らせ願います。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.