我想使用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?
答案 0 :(得分:1)
做什么窗户。
只需在组合框中选择一项,然后选择并启用它。
答案 1 :(得分:0)
将ComboBox控件放在UserControl上。 UserControl将传递大多数属性和事件,但是响应.ReadOnly属性,它将隐藏ComboBox控件并显示ReadOnly编辑框。