• 締切済み

コンボボックスの三角を一時的に消す方法。

こんにちは。 コンボボックスの三角を一時的に消す方法を探しています。 Accessのデータシート形式でのコンボボックスの様にしたいと思っています。 セルをクリックすると三角とリストが表示されて、放すと無くなる様にしたいです。 ご存知の方いらっしゃいましたら宜しくお願い致します。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

エクセルなどでは,コントロールツールボックスのコンボボックスにShowDropButtonWhenプロパティがありfmShowDropButtonWhenAlways fmShowDropButtonWhenFocus (質問者の希望は後者) があります。VB6にもないかまず調べてください。

i_september
質問者

お礼

有難う御座います。 AccessのVBAを探していました。 カテゴリが違ってました。

noname#187541
noname#187541
回答No.2

こんにちは。 VBのバージョンは? VB6は分からないので、VB.NET(2002~2005)だとして答えます。 コンボボックスの DropDownStyleプロパティをSimple にすれば▼は表示されません。 ただし、デザイン画面でプロパティから変更すると通常はリストが常に表示されます。そこでフォームのLoadイベントで設定します。 コンボボックスのフォーカス取得時にDropDownStyleをSimple以外にし、フォーカスを失った時にSimpleに戻します。 取得時はスタイルを変更するだけでいいですが、失った時にスタイルを変更するとまたフォーカスを取得するようなので次のコントロールにフォーカスを移します。 Private Sub ComboBox1_Enter(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles ComboBox1.Enter 'スタイル変更 ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList End Sub Private Sub ComboBox1_Leave(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles ComboBox1.Leave 'スタイル変更 ComboBox1.DropDownStyle = ComboBoxStyle.Simple Me.SelectNextControl(ComboBox1, True, True, True, True) End Sub どうでしょうか。

i_september
質問者

お礼

有難う御座います。 参考にさせて頂きます。

  • tarodaro
  • ベストアンサー率43% (7/16)
回答No.1

3つの方法 1.ラベル等で三角部分を隠す 隠しててもフォーカスがあたれば表示されます 2.コンボと同サイズのテキストボックスで覆い隠す コントロールソース___コンボと同じ タブストップ_________いいえ フォーカス取得時_____のイベントプロシージャに me.コンボボックス名.setfocus 3.気にしない

i_september
質問者

お礼

有難う御座います。

関連するQ&A