- PR -

コンボボックスを読み取り専用にしたい

1
投稿者投稿内容
桜緋女
常連さん
会議室デビュー日: 2004/09/15
投稿数: 46
投稿日時: 2005-11-21 12:45
お世話になっております、桜と申します。
VB.NETで開発しています。
画面制御で、照会ONLYモードの場合、コンボボックスをEnabled=Falseにしていたのですが、
「文字が灰色だと見づらい!」というクレームがつきました。
見た目を変更せずにテキストの変更、ドロップダウンが使えないようにしたいのですが、
思わぬところで苦戦しています。

試してみたのは、以下のような方法です。
@コンボはEnabled=True,コンテナコントロールをEnabled=Falseにする。
  ⇒直接Enabled=Falseにした場合と同様、グレイアウトされる
   (VB6ではいけたと思ったんですけど)

AForeColorを明示的に設定する
  ⇒ForeColorを指定しない場合同様、グレイアウトされる
   (明示的にForeColorを指定した場合、
    Enabledに関わらず有効になったように記憶していたのですが、
    記憶違いの様子)

Bコンボボックスを継承し、OnDropDownをオーバーライドを制御する。
  ⇒OnDropDownはイベントを発生させるだけなので、
   普通にドロップダウン&選択実行される。
   OnClick,OnSelectedItemChangedも同じ。

何か妙案がありましたらお聞かせください。
うに
会議室デビュー日: 2005/11/04
投稿数: 1
投稿日時: 2005-11-21 13:00
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?mode=viewtopic&topic=25700&forum=7&start=0
桜緋女
常連さん
会議室デビュー日: 2004/09/15
投稿数: 46
投稿日時: 2005-11-21 15:12
うにさん、ありがとうございます。
まさにそのまま、ですね。
見落としていたようです。

SetStyleはとても便利そうですね。
今後も活用したいと思います。
1

スキルアップ/キャリアアップ(JOB@IT)