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


とし  2004-10-12 22:39:19  No: 116912

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


raki  URL  2004-10-12 23:03:37  No: 116913

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

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


葉月  2004-10-13 18:07:05  No: 116914

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

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

とかは?


マグ  2004-10-14 02:28:05  No: 116915

VB.NETなら

ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList

これはどうでしょうか?


k4r  2004-10-26 20:17:07  No: 116916

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

ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList

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


k4r  2004-10-26 23:32:15  No: 116917

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

    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-27 00:07:07  No: 116918

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


k4r  2004-10-27 19:08:46  No: 116919

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


葉月  2004-10-27 21:29:57  No: 116920

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

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


マグ  2004-10-27 21:48:06  No: 116921

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

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

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加