SHOEISHA iD

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

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

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

Silverlight/WPFで使える逆引きTips集

Silverlight/WPFで使える逆引きTips集
――コンボボックス機能

(5) ComboBoxコントロール

9. 選択可能な項目を持っているかを調べる

 ComboBox コントロールが選択可能な項目を持っているかを調べるには HasItems プロパティを使用します(WPFのみ)。

 選択可能な項目を持っている場合には HasItems プロパティはTrueになります。

 Silverlight のComboBox コントロールは HasItems プロパティを持っていないので、Items プロパティCount プロパティを参照し、値が0より大きければ「選択可能項目がある」と判断します。

 下記は、[項目があるか?]ボタンが押されたときに、ComboBox コントロールに項目があるかどうかを表示する例です。 最初はComboBoxに項目を持たせているので、「選択可能な項目を持っています」と表示されます。 次に[全項目削除]ボタンをクリックした後に[項目があるか?]ボタンが押されると、「選択可能な項目はありません」と表示されます。

選択可能な項目を持っているかを調べる例
選択可能な項目を持っているかを調べる例
VBの例
' [項目があるか?]ボタンクリック時の処理
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) 
    Handles Button1.Click
    If ComboBox1.HasItems Then
        MessageBox.Show("選択可能な項目を持っています")
    Else
        MessageBox.Show("選択可能な項目はありません")
    End If
End Sub

' [全項目削除]ボタンクリック時の処理
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) 
    Handles Button2.Click
    '全項目を削除
    ComboBox1.Items.Clear()
End Sub
C#の例
// [項目があるか?]ボタンクリック時の処理
private void button1_Click(object sender, RoutedEventArgs e)
{
    if ( comboBox1.HasItems )
        MessageBox.Show("選択可能な項目を持っています");
    else
        MessageBox.Show("選択可能な項目はありません");
}

// [全項目削除]ボタンクリック時の処理
private void button2_Click(object sender, RoutedEventArgs e)
{
    // 全項目を削除
    comboBox1.Items.Clear();
}
ポイント

 WPF の ComboBox コントロールが選択可能項目を持っているかどうかを調べるには HasItems プロパティを使用する。

 Silverlight では Items プロパティの Count プロパティを参照し、値が0より大きい場合「選択項目がある」と判断する。

次のページ
10. 項目の配置位置を設定する

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

Silverlight/WPFで使える逆引きTips集連載記事一覧

もっと読む

この記事の著者

HIRO(ヒロ)

HIRO's.NETのHIROです。とある半導体工場のSEです。VB.NET, C#, PowerShellによるプログラミングを楽しんでいます。最近はBlog でPowerShellについて書いています。2008/07/07にPowerShell from Japan!!というサイトを立ち上げまし...

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

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

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/5603 2010/12/08 14:00

イベント

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

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

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

メールバックナンバー