我想使用 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?