SHOEISHA iD

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

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

ComponentZine(PlusPak)

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

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

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

コンポーネントのインストール

 この記事の手順を試すには、Visual Studio、Visual Basic、Visual C#の開発環境にPlusPak for Windows Forms 6.0Jをインストールする必要があります。インストーラはグレープシティのWebページからダウンロードできます。

 製品のトライアル版一覧ページにてダウンロードしたい製品にチェックを入れ、ページ右上部の[申込フォーム]をクリックしてグレープシティのWebサイトへ必要情報を登録すると、添付トライアルライセンスキーファイルとダウンロードサイトを記載したE-Mailが送られてきますので、ここからダウンロードします。制限事項などの詳細については、インストーラに同梱されているリリースノートを参照ください。

コントロールの追加

 インストール後、プロジェクトのツールボックスに専用のタブを作成し、使用するコントロールを追加します。追加するコントロールは、アセンブリ名が「GrapeCity.Win.PlusPak.v60」の「GcComboFrame」です。

アセンブリ名が「GrapeCity.Win.PlusPak.v60」の「GcComboFrame」コントロールを選択する
アセンブリ名が「GrapeCity.Win.PlusPak.v60」の「GcComboFrame」コントロールを選択する

フォームの作成

 では、さっそくプログラムを作成しましょう。今回は、標準コントロールのGroupBox、Label、TextBox、ComboBox、Buttonコントロールと、PlusPak for Windows Forms 6.0JのGcComboFrame、GcCalculatorコントロールを使用します。

GUIのデザイン

 入力操作機能に関するものは、GroupBoxコントロールを使ってまとめています。GroupBoxコントロールの中に、Label、TextBox、ComboBox(ドロップダウンリスト)、GcComboFrameコントロールを配置します。GcComboFrameコントロールには、TextBoxコントロールとGcCalculatorコントロールを組み込み、電卓の計算結果をTextBoxに反映するようにしています。

 このグループボックスを3つ作成し、その下に計算エリアを作成します。

作成したフォームのデザイン
作成したフォームのデザイン

GcComboFrame、GcCalculatorコントロールについて

GcComboFrameコントロールの概要

 GcComboFrameコントロールは、独自のドロップダウンウィンドウを構築することで柔軟性の高い入力を実現します。

 コンテントパネル、ドロップダウンウィンドウおよびサイドボタン3つの部分から構成されており、パーツを組み合わせてニーズに合ったコントロールを実装することで独自のコントロールを容易に作成できます。

GcComboFrameコントロールの各部の名称(ヘルプファイルより抜粋)
GcComboFrameコントロールの各部の名称(ヘルプファイルより抜粋)
コンテントパネル

 入力結果を表示するためのコントロールを格納するコンテナです。通常、テキストボックスやラベルなど値を表示できるコントロールを配置します。基本的には、コンテントパネルは標準のパネルコントロールと同様に、複数のコントロールを配置することが可能です。コントロールの配置は、通常のフォームと同じ方法で行います。

サイドボタン

 GcComboFrameコントロールの左側か右側に表示するボタンで、ドロップダウンウィンドウを表示するほか、さまざまな機能を実装できます。デフォルトでは、ひとつのDropDownButtonが表示されます。アプリケーションのニーズに合わせて追加やカスタマイズをすることが可能です。

 サイドボタンを編集するには、スマートタグまたはプロパティウィンドウで「サイドボタンコレクション エディタ」を開いて行います。使用できるサイドボタンは以下のものがあります。

サイドボタンで設定できる機能
名前 説明
ColorPickerButton コントロールで使用する色を採取
DropDownButton ドロップダウンウィンドウを開く
SideButton 標準のボタン
SpinButton コントロールの値をスピンアップまたはスピンダウン
SymbolButton 記号付きのボタン

 Positionプロパティを設定することで、該当するボタンをコントロールの境界線の左内側、左外側、右内側、あるいは右外側のいずれに配置するかを指定できます。

ドロップダウンウィンドウ

 ドロップダウンウィンドウには、コントロールを追加できます。通常、ドロップダウンウィンドウには入力される値を格納するコントロール(リストボックス、データグリッドなど)、あるいは補助的な機能を持つコントロール(電卓、カレンダーなど)を配置します。追加できるコントロールは1つのみです。複数のコントロールを使用したい場合は、あらかじめユーザーコントロールを用意して追加します。

 ドロップダウンウィンドウにコントロールを追加するには、まず組み込みたいコントロールをフォームに配置します。GcComboFrameコントロールを選択し、スマートタグを開いて「ドロップダウンコントロール」のリストから、利用可能なコントロールを選択します(または、プロパティウィンドウでDropDownControlプロパティを選択してドロップダウンリストから選択することも可能です)。

 ドロップダウンウィンドウに追加されたコントロールはフォームで非表示となります。DropDownControlプロパティを他のコントロールまたは(なし)に変更すると、再びフォームに表示されます。非表示の状態のコントロールに対してプロパティ設定を行うには、プロパティウィンドウのドロップダウンリストから該当するコントロールを選択します。

スマートタグを開いて「ドロップダウンコントロール」から組み込むコントロールを選ぶ
スマートタグを開いて「ドロップダウンコントロール」から組み込むコントロールを選ぶ

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

 GcComboFrameコントロールのコンテントパネルに配置したコントロールと、サイドボタンおよびドロップダウンコントロールを連携させるには、適切なイベントに対応する処理を実装する必要があります。

 GcComboFrameコントロールでは、ドロップダウンウィンドウの開閉に応じて以下のイベントが設定されています。ドロップダウンウィンドウの開閉に合わせて行う処理は、基本的にこれらのイベントを使って実装します。

ドロップダウンウィンドウのイベント
名前 説明
DropDownClosed ドロップダウンウィンドウが閉じた後に発生
DropDownClosing ドロップダウンウィンドウが閉じる前に発生
DropDownOpened ドロップダウンウィンドウが開いた後に発生
DropDownOpening ドロップダウンウィンドウが開く前に発生

次のページ
GcCalculatorコントロールの概要

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

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

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

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

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング