コンボボックスをいじられないように(テキスト表示のまま)


とし  2004-10-12 13:39:19  No: 116912  IP: [192.*.*.*]

コントロールボックスを使ったツールを作っているのですが、コントロールのテキストに世代を選んでくださいというテキストを残したままで、ユーザーにいじられないように、選択しかできないようにしたいのです。過去ログを見ましたがStyleプロパティを2にするなど試しましたが。それではテキストが消えてしまいます。お願いします

編集 削除
raki  URL  2004-10-12 14:03:37  No: 116913  IP: [192.*.*.*]

Styleプロパティを『2 - ドロップダウンリスト』に設定し、
リストに『世代を選んでください』を先頭に追加して、
選択されたらClickイベント内で強制的に先頭に戻すというのは?

リストの中にも『世代を選んでください』というが表示されてしまう点と
Clickイベント内で強制的に先頭に戻す為、再度Clickイベントが走る点の
2つの問題がありますが。

編集 削除
葉月  2004-10-13 09:07:05  No: 116914  IP: [192.*.*.*]

特に制御の条件とか無いみたいだし、コンボのKeyDownイベントあたりで

    If KeyCode <> vbKeyDown And KeyCode <> vbKeyUp Then
        KeyCode = 0
    End If

とかは?

編集 削除
マグ  2004-10-13 17:28:05  No: 116915  IP: [192.*.*.*]

VB.NETなら

ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList

これはどうでしょうか?

編集 削除
k4r  2004-10-26 11:17:07  No: 116916  IP: [192.*.*.*]

VB.NETで同じような問題にぶつかっています。

ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList

で、テキストボックス部分の変更は不可にできますが、リストのプルダウンも
出来ないようにしたいです。良い方法はありますでしょうか?

編集 削除
k4r  2004-10-26 14:32:15  No: 116917  IP: [192.*.*.*]

う〜ん。自己レスで全然綺麗ではありませんが、値を変更前に戻す方法で。。。

    Private comIndex As Integer             '現在の値を保持
    Private comLocked As Boolean = False    'ロックの状態
    'LOCKのON/OFF切替
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If comLocked Then
            comLocked = False
        Else
            comLocked = True
        End If
    End Sub
    'LOCK状態なら値を変更させない。(元に戻す)
    Private Sub ComboBox1_SelectionChangeCommitted(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectionChangeCommitted
        If comLocked Then
            ComboBox1.SelectedIndex = comIndex
        End If
    End Sub
    'GotFocus時に現在の値を保持
    Private Sub ComboBox1_GotFocus(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.GotFocus
        comIndex = ComboBox1.SelectedIndex()
    End Sub

編集 削除
マグ  2004-10-26 15:07:07  No: 116918  IP: [192.*.*.*]

失礼かもしれないのですが、
ちょっと聞きたいことが、
これは解決されたのでしょうか・・・?

編集 削除
k4r  2004-10-27 10:08:46  No: 116919  IP: [192.*.*.*]

私のは解決しました。(もっと良い方法があるかもしれませんが・・・・・・)
としさんは解決したのでしょうか?

編集 削除
葉月  2004-10-27 12:29:57  No: 116920  IP: [192.*.*.*]

よくわからないですが
プルダウンしないのにコンボボックス使う意味があまり感じられないのですが・・・

ならば逆にリストボックスを一行分表示していく方が良いのじゃないでしょうか?
仕様用途が不明なためタコレスだったらスマソ

編集 削除
マグ  2004-10-27 12:48:06  No: 116921  IP: [192.*.*.*]

そういえば、そうですよね。

プルダウンをしたくなければ、
いっそのこと
Enabledでコントロールできないようにしてみてはどうでしょうか?

それでは、だめだっと言うのなら、すみません。

編集 削除