【发布时间】:2010-10-21 15:06:55
【问题描述】:
我有一个小问题困扰了我几个小时。
在我的 WinForms (.NET 3.5) 应用程序中,我在运行时在 TableLayoutPanel 中创建了一些 ComboBoxes (DropDownStyle = DropDown) 并用字符串填充它。组合框配置为自动调整大小(锚点 = 左 | 右)。
问题在于,无论何时调整组合框的大小(即调整对话框的大小),组合框的编辑框部分都会被完全选中/突出显示。在我看来,这会给客户造成非常混乱的影响,我想避免这种影响。
如果 ComboBox 具有固定大小,则不会出现此问题。
另请注意,更改 DropDownStyle 不是一个选项 - 我需要手动输入文本的可能性。
我已经尝试过重写 OnPaint 方法,但效果不佳。 我还尝试清除 ComboBox.Resize 事件中的选择,这在某种程度上起作用,但似乎是一个非常丑陋的解决方案 - 有很多闪烁,故意选择的文本被取消选择,我必须将事件处理程序添加到每个以及我对话框中的每个 ComboBox。
这个问题有更好的解决方案吗?
提前谢谢你。
问候, 安迪
【问题讨论】:
-
使用 DropDownList 时,文本部分不可编辑。你是说 DropDown 吗?