GcRadioButtonコントロールのイベント処理
GcRadioButtonコントロールのデフォルトのイベントは、CheckedChangedイベントです。チェックマークが入れ替わるたびに、このイベントがGcRadioButtonコントロールに発生します。
また、チェックマークが付いているかどうかはCheckedプロパティを使用します。値は論理値で、Trueでチェック、Falseでチェックなしになります。値の取得と設定が行えます。
色の選択グループでは、各GcRadioButtonコントロールのCheckedChangedイベントで、Checkedプロパティの値を調べ、Imageコントロールの画像をそれぞれの色の画像に入れ替えます。
サイズ選択のグループでは、GcRadioButtonコントロールの文字列を取得し、変数に格納します。
Public Class Form1 Private t_color As String Private t_size As String Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load t_color = "White" t_size = "M" End Sub Private Sub GcRadio_white_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GcRadio_white.CheckedChanged If sender.Checked = True Then PictureBox1.Image = Global.myradiobtn_vb.My.Resources.Resources.T_white t_color = sender.Text End If End Sub Private Sub GcRadio_Red_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GcRadio_Red.CheckedChanged If sender.Checked = True Then PictureBox1.Image = Global.myradiobtn_vb.My.Resources.Resources.T_red t_color = sender.Text End If End Sub Private Sub GcRadio_green_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GcRadio_green.CheckedChanged If sender.Checked = True Then PictureBox1.Image = Global.myradiobtn_vb.My.Resources.Resources.T_green t_color = sender.Text End If End Sub Private Sub GcRadio_orange_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GcRadio_orange.CheckedChanged If sender.Checked = True Then PictureBox1.Image = Global.myradiobtn_vb.My.Resources.Resources.T_orange t_color = sender.Text End If End Sub Private Sub GcRadio_navy_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GcRadio_navy.CheckedChanged If sender.Checked = True Then PictureBox1.Image = Global.myradiobtn_vb.My.Resources.Resources.T_navy t_color = sender.Text End If End Sub Private Sub GcRadio_Pink_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GcRadio_Pink.CheckedChanged If sender.Checked = True Then PictureBox1.Image = Global.myradiobtn_vb.My.Resources.Resources.T_pink t_color = sender.Text End If End Sub Private Sub GcRadio_s_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GcRadio_s.CheckedChanged If sender.Checked = True Then t_size = sender.text End If End Sub Private Sub GcRadio_m_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GcRadio_m.CheckedChanged If sender.Checked = True Then t_size = sender.text End If End Sub Private Sub GcRadio_l_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GcRadio_l.CheckedChanged If sender.Checked = True Then t_size = sender.text End If End Sub Private Sub GcRadio_ll_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GcRadio_ll.CheckedChanged If sender.Checked = True Then t_size = sender.text End If End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Label11.Text = t_color Label13.Text = t_size Label15.Text = NumericUpDown1.Value Label17.Text = (NumericUpDown1.Value * 980).ToString & " 円" End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Close() End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click MessageBox.Show("ご注文を受け付けました。ありがとうございました。") Me.Close() End Sub End Class
public partial class Form1 : Form { private String t_color; private String t_size; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { t_color = "White"; t_size = "M"; } private void gcRadio_white_CheckedChanged(object sender, EventArgs e) { if (gcRadio_white.Checked == true) { pictureBox1.Image = global::myradiobtn_cs.Properties.Resources.T_white; t_color = gcRadio_white.Text; } } private void gcRadio_red_CheckedChanged(object sender, EventArgs e) { if (gcRadio_red.Checked == true) { pictureBox1.Image = global::myradiobtn_cs.Properties.Resources.T_red; t_color = gcRadio_red.Text; } } private void gcRadio_green_CheckedChanged(object sender, EventArgs e) { if (gcRadio_green.Checked == true) { pictureBox1.Image = global::myradiobtn_cs.Properties.Resources.T_green; t_color = gcRadio_green.Text; } } private void gcRadio_orange_CheckedChanged(object sender, EventArgs e) { if (gcRadio_orange.Checked == true) { pictureBox1.Image = global::myradiobtn_cs.Properties.Resources.T_orange; t_color = gcRadio_orange.Text; } } private void gcRadio_navy_CheckedChanged(object sender, EventArgs e) { if (gcRadio_navy.Checked == true) { pictureBox1.Image = global::myradiobtn_cs.Properties.Resources.T_navy; t_color = gcRadio_navy.Text; } } private void gcRadio_pink_CheckedChanged(object sender, EventArgs e) { if (gcRadio_pink.Checked == true) { pictureBox1.Image = global::myradiobtn_cs.Properties.Resources.T_pink; t_color = gcRadio_pink.Text; } } private void gcRadio_s_CheckedChanged(object sender, EventArgs e) { if (gcRadio_s.Checked == true) { t_size = gcRadio_s.Text; } } private void gcRadio_m_CheckedChanged(object sender, EventArgs e) { if (gcRadio_m.Checked == true) { t_size = gcRadio_m.Text; } } private void gcRadio_l_CheckedChanged(object sender, EventArgs e) { if (gcRadio_l.Checked == true) { t_size = gcRadio_l.Text; } } private void gcRadio_ll_CheckedChanged(object sender, EventArgs e) { if (gcRadio_ll.Checked == true) { t_size = gcRadio_ll.Text; } } private void button1_Click(object sender, EventArgs e) { label11.Text = t_color; label13.Text = t_size; label15.Text = Convert.ToString(numericUpDown1.Value); label17.Text = Convert.ToString(numericUpDown1.Value * 980) + " 円"; } private void button2_Click(object sender, EventArgs e) { this.Close(); } private void button3_Click(object sender, EventArgs e) { MessageBox.Show("ご注文を受け付けました。ありがとうございました。"); this.Close(); } }
まとめ
ユーザーにとって、GUIはアプリケーションの使い勝手を決める最も重要な要素です。ラジオボタンのチェックマークのデザインが変わるだけで、フォームのイメージもかなり変わります。
単純なデザインを変えるだけでも視覚効果が上がりますが、チェックマークが移動するようなデザインにすると、より一層「使って楽しいアプリケーション」に仕上げることができるのではないでしょうか。