SHOEISHA iD

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

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

ComponentZine(ComponentOne)

独自のドロップダウンメニューを持った.NETアプリケーションの作成

ComponentOne Studioを活用したWindowsフォームアプリケーションの作成

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

カスタムドロップダウンコントロールの作成(2)

2つ目のカスタムドロップダウンコントロールの作成

 今作成したドロップダウンコントロールと同じ手順で、2つ目のカスタムドロップダウンコントロールを作成します。

 (1)フォームForm1にもう一つC1DropDownControlコントロールを追加します。ついでにラベルで表題も付けておきます。

もう一つC1DropDownControlコントロールを追加
もう一つC1DropDownControlコントロールを追加

 (2)プロジェクトにWindowsフォームを追加します。フォーム名は「DropDown2」とします。そして、継承元をC1.Win.C1Input.DropDownFormに変更します。

Visual Basic
Partial Class DropDown2
    Inherits C1.Win.C1Input.DropDownForm
C#
namespace CustDropDown_Winform_cs
{
    public partial class DropDown2 : C1.Win.C1Input.DropDownForm

 (3)ドロップダウンフォームにRadioButtonコントロールとButtonコントロールを配置します。RadioButtonコントロールには年齢を、ButtonコントロールはOK/キャンセルを設定し、DialogResultプロパティも設定します。

 (4)Optionsプロパティをクリックして展開し、AutoResizeプロパティをTrueにします。

作成したドロップダウンフォーム
作成したドロップダウンフォーム

 (5)PostChangesイベントハンドラを作成し、先に作成したDropDownフォームと同じコードを作成します。

Visual Basic
Private Sub DropDown2_PostChanges(sender As System.Object, e As System.EventArgs) Handles MyBase.PostChanges
    If (MyBase.DialogResult = DialogResult.OK) Then
        Dim control1 As Control
        For Each control1 In MyBase.Controls
            If (TypeOf control1 Is RadioButton AndAlso CType(control1, RadioButton).Checked) Then
                MyBase.OwnerControl.Value = CType(control1, RadioButton).Text
            End If
        Next
    End If
End Sub
C#
private void DropDown2_PostChanges(object sender, EventArgs e)
{
    if (DialogResult == DialogResult.OK)
    {
        foreach (Control control1 in Controls)
        {
            if (control1 as RadioButton != null && ((RadioButton)control1).Checked)
            {
                OwnerControl.Value = ((RadioButton)control1).Text;
            }
        }
    }
}

 (6)フォームデザイナ「Form1」に移動し、2番目のC1DropDownControlコントロールのDropDownFormClassNameプロパティに、ドロップダウンフォーム「DropDown2」のクラス名を設定します。

ドロップダウンフォーム「DropDown2」のクラス名を設定
ドロップダウンフォーム「DropDown2」のクラス名を設定

 (7)最後にVisibleButtonsプロパティを展開し、「UpDown」プロパティをFalseにします。

 これで出来上がりです。アプリケーションを実行し、ドロップダウンフォームの動作を確認します。

アプリケーションの動作を確認する
アプリケーションの動作を確認する

まとめ

 カスタムドロップダウンコントロールは、思ったよりも簡単に作成することができます。ドロップダウンフォームで選択された情報も簡単に取り出すことができるので、多くのデータを入力させるアプリケーションでは活躍するのではないでしょうか。

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

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

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

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

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

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

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8216 2014/10/24 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング