Tag: windows controls

如何通过Tab键及时启用WinForm按钮以获得焦点

Visual Studio 2010,C# 我有一个带DropDown的ComboBox , AutoComplete设置为SuggestAppend , AutoCompleteSource来自ListItems 。 用户将数据键入其中,直到具有正确的条目。 如果数据与列表项之一匹配,则combobox旁边的按钮被禁用。 如果用户点击Tab键,则自动完成function会接受当前建议。 它还会移动到启用的选项卡序列中的下一个控件。 当然,因为我希望它转到disbabled按钮,我需要在validation条目后立即启用它。 问题是我没有尝试过任何事件, PreviewKeyDown , LostFocus , SelectedIndexChanged允许我及时启用按钮以使其被处理并获得焦点。 它始终以Tab键顺序进入下一个按钮,该按钮始终处于启用状态。 我准备好让按钮保持启用状态,如果太快按下它就会出错,但我不想这样做。 我也不想进入特殊模式标志来跟踪这些控件何时获得焦点。 validation似乎是正常的事情,但我被困住了。 如果SelectedIndexChanged在用户进行匹配时起作用,则这很容易。 当盒子清除时,或者当找到类型匹配时,它不会触发。

在WinForms中使用CheckBoxes的ComboBox

我正在尝试实现CheckBox ComboBox。 我关注此链接作为参考 http://www.codeproject.com/Articles/31105/A-ComboBox-with-a-CheckedListBox-as-a-Dropdown?msg=4152597#xx4152597xx 但是这个例子有一些问题。 1)显示下拉列表后,第一次单击鼠标以更改所选项目的检查状态始终无法执行此操作,但单击一次就可以了。 似乎吞下了第一次单击。 我做了一些跟踪工作但未能找到答案。 2)列表打开时表单失去焦点。