オプションが選択された時の処理
GUIができ上がれば、アイテムが選択された時の処理を作成します。
① 4つのC1SplitButtonコントロールそれぞれに、DropDownItemClickedイベントハンドラを作成します。
② DropDownItemClickedイベントが発生すると、このイベントハンドラの引数「e」のClickedItemプロパティには、選択されたアイテムのDropDownItemオブジェクトが格納されます。
このオブジェクトのTextプロパティを参照すると、選択されたアイテムの項目名を取得できますので、どのアイテムが選択されたのかを知ることができます。ここでは、選択されたアイテム名をTextBoxコントロールのTextプロパティに代入します。
Public Class Form1 Private Sub C1SplitButton1_DropDownItemClicked(sender As System.Object, e As C1.Win.C1Input.DropDownItemClickedEventArgs) Handles C1SplitButton1.DropDownItemClicked TextBox1.Text = e.ClickedItem.Text End Sub Private Sub C1SplitButton2_DropDownItemClicked(sender As System.Object, e As C1.Win.C1Input.DropDownItemClickedEventArgs) Handles C1SplitButton2.DropDownItemClicked TextBox2.Text = e.ClickedItem.Text End Sub Private Sub C1SplitButton3_DropDownItemClicked(sender As System.Object, e As C1.Win.C1Input.DropDownItemClickedEventArgs) Handles C1SplitButton3.DropDownItemClicked TextBox3.Text = e.ClickedItem.Text End Sub Private Sub C1SplitButton4_DropDownItemClicked(sender As System.Object, e As C1.Win.C1Input.DropDownItemClickedEventArgs) Handles C1SplitButton4.DropDownItemClicked TextBox4.Text = e.ClickedItem.Text End Sub End Class
namespace C1SplitBtn_Winform_cs { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void c1SplitButton1_DropDownItemClicked(object sender, C1.Win.C1Input.DropDownItemClickedEventArgs e) { textBox1.Text = e.ClickedItem.Text; } private void c1SplitButton2_DropDownItemClicked(object sender, C1.Win.C1Input.DropDownItemClickedEventArgs e) { textBox2.Text = e.ClickedItem.Text; } private void c1SplitButton3_DropDownItemClicked(object sender, C1.Win.C1Input.DropDownItemClickedEventArgs e) { textBox3.Text = e.ClickedItem.Text; } private void c1SplitButton4_DropDownItemClicked(object sender, C1.Win.C1Input.DropDownItemClickedEventArgs e) { textBox4.Text = e.ClickedItem.Text; } } }
まとめ
ComponentOne Studioの特徴の一つは、いろいろな形態の入力コントロールが揃っていることです。このC1SplitButtonコントロールもその中の一つですが、マウスだけで入力できる便利さはアプリケーションを使用するユーザーにとっては使いやすいインターフェースになるのではないでしょうか。