2017-05-22 5 views
0

私が使用してComboBoxの背景を変更しようとしました:Winformsのコンボボックスの背景

comboBox.BackColor = Color.Crimson; 

をそして、私はこのような白い枠を取得:

[Ugly borders]

+4

美しさは見る人の目にあります。しかし、あなたの質問は何ですか? – Nino

+0

あなたはコンボボックスの作り方を見ています。コンポジットコントロール、ドロップダウンボタン付きの外部フレーム、およびその内部のテキストボックスです。ボタンを押したときにリストボックスを追加する。外側のフレームはビジュアルスタイルのテーマカラーを取得し、backcolorプロパティはテキストボックスのカラーのみを設定します。フォームの背景色を "Window"テーマカラーに設定することを検討してください。一般的には、ユーザーのテーマ設定に反して作業することは避けてください。 UIのルック&フィールをより詳細に制御し、他のプログラムと異なるUIデザインを作成する場合は、WPFを検討してください。 –

+0

その枠線を削除するには、独自のペイント方法を実装する必要があります。または、コンボボックスの「FlatStyle」を「Flat」に設定するか、[this one](https://www.codeproject.com/Articles/18172/Appearance-Customizable-ComboBox)などのカスタムコントロールを検索してみてください。 – Nino

答えて

2

あなたはBackColorプロパティに加えて設定することができますFlatStyle to flat:

this.comboBox1.BackColor = Color.Red; 
this.comboBox1.FlatStyle = FlatStyle.Flat; 

またはdes igner:あなたはより多くの余分な機能を追加したい場合は、それは少しも思われる、独自のコンポーネントを作成することをお勧めします、しかし

result

The designer settings

これが結果ですより複雑。

関連する問題