SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ComponentZine(PlusPak)

オリジナルデザインのラジオボタンを使った.NETアプリケーションを作る

PlusPak for Windows Forms 5.0JのGcRadioButtonコントロールを使ったアプリケーションの作成

  • X ポスト
  • このエントリーをはてなブックマークに追加

GcRadioButtonコントロールのイベント処理

 GcRadioButtonコントロールのデフォルトのイベントは、CheckedChangedイベントです。チェックマークが入れ替わるたびに、このイベントがGcRadioButtonコントロールに発生します。

 また、チェックマークが付いているかどうかはCheckedプロパティを使用します。値は論理値で、Trueでチェック、Falseでチェックなしになります。値の取得と設定が行えます。

 色の選択グループでは、各GcRadioButtonコントロールのCheckedChangedイベントで、Checkedプロパティの値を調べ、Imageコントロールの画像をそれぞれの色の画像に入れ替えます。

 サイズ選択のグループでは、GcRadioButtonコントロールの文字列を取得し、変数に格納します。

Visual Basic
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
C#
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はアプリケーションの使い勝手を決める最も重要な要素です。ラジオボタンのチェックマークのデザインが変わるだけで、フォームのイメージもかなり変わります。

 単純なデザインを変えるだけでも視覚効果が上がりますが、チェックマークが移動するようなデザインにすると、より一層「使って楽しいアプリケーション」に仕上げることができるのではないでしょうか。

製品情報

修正履歴

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
ComponentZine(PlusPak)連載記事一覧

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3889 2009/05/28 13:53

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング