C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[10]: コンボボックスの使用法


(過去ログ 99 を表示中)

[トピック内 12 記事 (1 - 12 表示)]  << 0 >>

■59423 / inTopicNo.1)  コンボボックスの使用法
  
□投稿者/ ワン (1回)-(2011/05/25(Wed) 15:31:03)

分類:[.NET 全般] 

VB.NET2008を使用しています。

コンボボックスの使い方で質問です。

DropDownStyle = DropDownList
に設定しています。

ドロップダウンの中身は、西暦が入っています。
----
2010
2011
2012
2013
2014
----
です。

こうすると、ドロップダウンは選択しかできないようになると思います。

そこで、コンボボックスで、
たとえば、「2013」
と押すと、「2013」が選択されるようにしたいです。

どうすればいいでしょうか?

よろしくお願いします。











引用返信 編集キー/
■59425 / inTopicNo.2)  Re[1]: コンボボックスの使用法
□投稿者/ shu (720回)-(2011/05/25(Wed) 15:49:47)
No59423 (ワン さん) に返信

DropDownListにしないで、Validatingイベントでリスト内にあるか
チェックをする。
引用返信 編集キー/
■59427 / inTopicNo.3)  Re[2]: コンボボックスの使用法
□投稿者/ ワン (2回)-(2011/05/25(Wed) 15:53:50)
No59425 (shu さん) に返信
> ■No59423 (ワン さん) に返信
>
> DropDownListにしないで、Validatingイベントでリスト内にあるか
> チェックをする。

それも一つなんですけど。
DropDownListで可能にしたいです。

引用返信 編集キー/
■59428 / inTopicNo.4)  Re[3]: コンボボックスの使用法
□投稿者/ shu (721回)-(2011/05/25(Wed) 16:05:26)
No59427 (ワン さん) に返信
> ■No59425 (shu さん) に返信
>>■No59423 (ワン さん) に返信
>>
>>DropDownListにしないで、Validatingイベントでリスト内にあるか
>>チェックをする。
>
> それも一つなんですけど。
> DropDownListで可能にしたいです。
>
KeyDownイベントとかで押された内容を記憶して判断する。ただ、これだけだと見えないので
どうかと思う。頭1文字ならよくありますけどね。押された内容を分かるようにするなら
たとえばオーナードローで該当文字に色をつけるとかすると良いかも。
引用返信 編集キー/
■59429 / inTopicNo.5)  Re[4]: コンボボックスの使用法
□投稿者/ ツδ渉δ・email (2回)-(2011/05/25(Wed) 16:22:33)
No59428 (shu さん) に返信
> ■No59427 (ワン さん) に返信
>>■No59425 (shu さん) に返信
> >>■No59423 (ワン さん) に返信
> >>
> >>DropDownListにしないで、Validatingイベントでリスト内にあるか
> >>チェックをする。
>>
>>それも一つなんですけど。
>>DropDownListで可能にしたいです。
>>
> KeyDownイベントとかで押された内容を記憶して判断する。ただ、これだけだと見えないので
> どうかと思う。頭1文字ならよくありますけどね。押された内容を分かるようにするなら
> たとえばオーナードローで該当文字に色をつけるとかすると良いかも。

いろいろ参考になります。
では、初めのValidatingの方法をお願いしていいですか?
引用返信 編集キー/
■59430 / inTopicNo.6)  Re[5]: コンボボックスの使用法
□投稿者/ ワン (3回)-(2011/05/25(Wed) 16:34:54)
上記は私です。
引用返信 編集キー/
■59431 / inTopicNo.7)  Re[5]: コンボボックスの使用法
□投稿者/ shu (722回)-(2011/05/25(Wed) 16:37:35)
2011/05/25(Wed) 16:37:47 編集(投稿者)
No59429 (ワン さん) に返信

> では、初めのValidatingの方法をお願いしていいですか?

    Private Sub ComboBox1_Validating(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles ComboBox1.Validating
        If ComboBox1.Text.Length > 0 AndAlso Not ComboBox1.Items.Contains(ComboBox1.Text) Then
            MessageBox.Show("リスト内にある内容を入力して下さい。")
            ComboBox1.Text = ""
            e.Cancel = True
        End If
    End Sub

こんな感じでどうでしょう?リストにない場合、空欄にしてあります。

引用返信 編集キー/
■59432 / inTopicNo.8)  Re[6]: コンボボックスの使用法
□投稿者/ ワン (4回)-(2011/05/25(Wed) 16:43:45)
No59431 (shu さん) に返信
> 2011/05/25(Wed) 16:37:47 編集(投稿者)
>
> ■No59429 (ワン さん) に返信
>
>>では、初めのValidatingの方法をお願いしていいですか?
>
> Private Sub ComboBox1_Validating(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles ComboBox1.Validating
> If ComboBox1.Text.Length > 0 AndAlso Not ComboBox1.Items.Contains(ComboBox1.Text) Then
> MessageBox.Show("リスト内にある内容を入力して下さい。")
> ComboBox1.Text = ""
> e.Cancel = True
> End If
> End Sub
>
> こんな感じでどうでしょう?リストにない場合、空欄にしてあります。

ありがとうございます。
今試したんですが、リストにある場合もエラーが表示されますよ
引用返信 編集キー/
■59433 / inTopicNo.9)  Re[7]: コンボボックスの使用法
□投稿者/ shu (723回)-(2011/05/25(Wed) 16:52:02)
No59432 (ワン さん) に返信

> 今試したんですが、リストにある場合もエラーが表示されますよ
リストの作成はどのように行われていますでしょうか?Integerの値をそのまま設定するような
方法だとしたらComboBox1.TextをIntegerに変換する処理が必要になります。
引用返信 編集キー/
■59434 / inTopicNo.10)  Re[8]: コンボボックスの使用法
□投稿者/ ワン (5回)-(2011/05/25(Wed) 16:57:47)
2011/05/25(Wed) 16:58:34 編集(投稿者)

No59433 (shu さん) に返信
> ■No59432 (ワン さん) に返信
>
>>今試したんですが、リストにある場合もエラーが表示されますよ
> リストの作成はどのように行われていますでしょうか?Integerの値をそのまま設定するような
> 方法だとしたらComboBox1.TextをIntegerに変換する処理が必要になります。

Dim Month As String() = {"", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}

で、AddRangeでコンボボックスに設定しています

ちなみに、他のボタンを押したときにこの処理を発生させられますか?
引用返信 編集キー/
■59435 / inTopicNo.11)  Re[9]: コンボボックスの使用法
□投稿者/ shu (724回)-(2011/05/25(Wed) 17:22:55)
No59434 (ワン さん) に返信

> Dim Month As String() = {"", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}
>
これなら文字列なので大丈夫だと思うのですが・・・

> ちなみに、他のボタンを押したときにこの処理を発生させられますか?
この処理を残したままだとValidatingが先に発生するのでボタンの処理前に
Validatingの処理が実行されます。Validatingをやめてボタンを押したときに処理するので
あればそのままボタンクリックイベントに記述するとよいかと思います。
引用返信 編集キー/
■59436 / inTopicNo.12)  Re[10]: コンボボックスの使用法
□投稿者/ ワン (6回)-(2011/05/25(Wed) 17:35:32)
No59435 (shu さん) に返信
> ■No59434 (ワン さん) に返信
>
>> Dim Month As String() = {"", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}
>>
> これなら文字列なので大丈夫だと思うのですが・・・
>
>>ちなみに、他のボタンを押したときにこの処理を発生させられますか?
> この処理を残したままだとValidatingが先に発生するのでボタンの処理前に
> Validatingの処理が実行されます。Validatingをやめてボタンを押したときに処理するので
> あればそのままボタンクリックイベントに記述するとよいかと思います。

ありがとうございました。
単なるボンミスでした。

解決です。ありがとうございます!!
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -