ReadOnly プロパティを使用して System.Windows.Forms.ComboBox コントロールを拡張したいと考えています。これにより、ReadOnly = true の場合に、選択した項目のテキスト (ラベルと同様) が表示されます。(Enabled=false を設定することによって達成される無効な外観は好きではありません)
winformsでこれを行うにはどうすればよいですか? ASP.NET では非常に単純で、Render メソッドをオーバーライドするだけで済みました。ただし、winforms ではそれほど単純ではないようです。
私が収集したものから、私はする必要があります
a) OnPaint メソッドをオーバーライドする
b) this.SetStyle(ControlStyles.UserPaint, true) を呼び出して、OnPaint が呼び出されるようにします。
でも今は、自分ですべての塗装をしなければならないようです。本当?ReadOnly = false の場合、ベース ComboBox にコントロールの描画を処理させることはできませんか? また、どの ControlStyles を使用すればよいですか?