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はアプリケーションの使い勝手を決める最も重要な要素です。ラジオボタンのチェックマークのデザインが変わるだけで、フォームのイメージもかなり変わります。
単純なデザインを変えるだけでも視覚効果が上がりますが、チェックマークが移動するようなデザインにすると、より一層「使って楽しいアプリケーション」に仕上げることができるのではないでしょうか。

