質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

解決済

4回答

11378閲覧

combobox選択後の見た目について

T_PoiPoi

総合スコア16

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

0クリップ

投稿2017/04/10 02:58

編集2017/04/10 04:30

comboboxのdropdownを使用して、選択問題を作成しています。

イメージ説明

選択したあとに文字が全選択される状態になっているで文字が見えにくいのでなんとかしたいな、と思いいろいろ探してみたのですがわかりませんでした。

dropdownlistにしてみたりしたのですが、何か良い案はありますか?

俺ならこうする、この記述試してみた?でもいいので、何かアドバイスをよろしくお願いします。

---作業環境---
VisualStudio2012
C#

---追加情報---
Windows Forms
framework3.0

■DropdownListが不採用の理由
見た目です。(←見た目が悪いわけではありません)ですが、こだわりはありません。
ただ、Flatスタイルに変更しても選択したあとに文字が選択された状態(dropdownと同じ)になっていたのであまり関係ないのかな、と考えています。

---追記その1---
「テキストが初期から選択状態にある」わけでなく、リストから項目を選択したあとに「テキストが選択状態にある」なので、リンク内容ではわからないことだとおもいます。

---追記その2---
フォーカスを別に移して選択色を解除するということも試してみましたが、フォーカスを移した先のcomboboxがすでに何かしら選択されていたら、選択色になるというところは変わらなかったので...諦めた方が良いっぽそうです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/04/10 03:10

何を作っているのでしょう?(Windows Forms? WPF? ASP.NET Web Forms? その他?)
Zuishin

2017/04/10 03:28

DropdownList はなぜ不採用なのですか?
Zuishin

2017/04/10 04:09

http://www.atmarkit.co.jp/fdotnet/chushin/introwinform_03/introwinform_03_02.html の「ドロップダウン・リスト」に描いてあるものですよね? テキストが選択されるようなことはないはずです。また、見た目が悪いと言われても、だいたいこんなもんですから、これがダメなら WPF やオーナードローで自分で作る以外にないでしょう。
guest

回答4

0

DropDownとDropDownListは目的が異なるので、きちんと目的にあった方を選択すべきでしょう。
DropDown → 入力
DrowDownList → 入力不可
特にこだわりがないとのことでなので、DropDownListを採用すれば解決かと思います。
そうでないと使う側からすると選択するだけなのに何で入力できるの?と思われてしまいます。
また入力できることで、余計な処理が必要になります。

それでもなんとかならないかと思い、少し調べてみました。
SelectionLengthを0にすれば選択状態は解除されるのはわかるのですが、~Changedイベントのタイミングで行っても影響がなく、決定的な対処法は見つかりませんでした。

投稿2017/04/10 04:48

ttyp03

総合スコア16998

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

T_PoiPoi

2017/04/10 06:28

回答ありがとうございます! 私自身にこだわりはありませんが、このプログラムの元になったデータがあり、そこでは選択しかしないにもかかわらず、DropDownだったので踏襲しました。使う側の視点を指摘していただき、ありがとうございます。
guest

0

自己解決

  • ComboBoxStyle.DropDownListにする
  • comboBox1.SelectedIndex = -1; 初期値の設定
  • フォーカスを移す

色々ありましたが、TextChangedイベントのときにcomboboxの下に配置してあるpanelにフォーカスを移すことで強制解除させることにしました!
Tabでの移動はしにくくなりましたが、見やすいことを優先したいためこの形にしました。
回答ありがとうございます!

投稿2017/04/10 04:34

T_PoiPoi

総合スコア16

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

編集不可状態にすればよいと思います。
DropDownStyleプロパティをComboBoxStyle.DropDownListにするとそういうことができます。

投稿2017/04/10 04:09

KSwordOfHaste

総合スコア18394

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

T_PoiPoi

2017/04/10 04:21

回答ありがとうございます。.DropDownListも検討したいと思います。
guest

0

どれかを選択するから反転するので以下のようにすると最初は何も表示無しになります。操作でどれかを選択すると選択色にはなりますが、これが嫌なら別の手ですね。

comboBox1.SelectedIndex = -1;

投稿2017/04/10 03:57

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

T_PoiPoi

2017/04/10 04:23

回答ありがとうございます。初期位置は設定しています。やはり、どれかを選択すると、選択色になるものなのですね...
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問