チェックボックス
チェックボックスをすると複数項目の選択を把握することができます。
このサンプルでは5教科に対してチェックをした場合の動作について確認してみます。
|
チェックの有無をイベントにより動作チェックしています。
「Checked」イベント
チェックされたときに動作します。
「Unchecked」イベント
チェックが外れたときに動作します。
「IsChecked」プロパティでチェックの有無を判定できます。
trueが返るとチェックされています。
falseが返るとチェックが外れています。
コード例
private void chk1_Checked(object sender, RoutedEventArgs e)
{
displayCheckContent();
}
private void chk2_Checked(object sender, RoutedEventArgs e)
{
displayCheckContent();
}
private void chk3_Checked(object sender, RoutedEventArgs e)
{
displayCheckContent();
}
private void chk4_Checked(object sender, RoutedEventArgs e)
{
displayCheckContent();
}
private void chk5_Checked(object sender, RoutedEventArgs e)
{
displayCheckContent();
}
//チェックした状態を判定し、選択したチェックボックスの
//内容を表示します。
private void displayCheckContent()
{
//チェックしたデータを格納する配列を用意します。
List list = new List();
//チェックされているかどうか?を判定します。
//チェックされている場合は配列にデータを格納します。
if(chk1.IsChecked == true)
{
list.Add(chk1.Content as string);
}
if (chk2.IsChecked == true)
{
list.Add(chk2.Content as string);
}
if (chk3.IsChecked == true)
{
list.Add(chk3.Content as string);
}
if (chk4.IsChecked == true)
{
list.Add(chk4.Content as string);
}
if (chk5.IsChecked == true)
{
list.Add(chk5.Content as string);
}
string result = string.Empty;
for(int i=0; i < list.Count; i++)
{
//複数データが存在している場合は
//「、」(区切り文字)を入れます。
if(i > 0)
{
result += "、";
}
result += list[i];
}
//テキストにチェックされたデータを表示します。
txt2.Text = result;
}
private void btnBack_Click(object sender, RoutedEventArgs e)
{
//メイン画面
this.Frame.Navigate(typeof(test1));
}
private void chk1_Unchecked(object sender, RoutedEventArgs e)
{
displayCheckContent();
}
private void chk2_Unchecked(object sender, RoutedEventArgs e)
{
displayCheckContent();
}
private void chk3_Unchecked(object sender, RoutedEventArgs e)
{
displayCheckContent();
}
private void chk4_Unchecked(object sender, RoutedEventArgs e)
{
displayCheckContent();
}
private void chk5_Unchecked(object sender, RoutedEventArgs e)
{
displayCheckContent();
}
このサンプルではチェックされたチェックボックスの表示項目を配列に格納しておきその内容をテキストボックスに出力しています。
実行した結果は次のとおりです。
|
|