【问题标题】:WinForms ComboBox - Event when Text Input is Clicked IntoWinForms ComboBox - 单击文本输入时的事件
【发布时间】:2011-05-16 21:11:21
【问题描述】:

我有一个功能请求,当“单击”组合框时,它会清除文本,以便用户可以开始输入新数据进行搜索。有谁知道一种方法来解决这个问题? 'click' 事件在单击文本以及单击下拉箭头时引发(这会打开带有项目的下拉菜单)。我只希望它发生在第一个,而不是后者。

现在我正在捕获点击事件并过滤 DroppedDown 属性,如下所示:

if(!comboBox.DroppedDown)
{
    // clear selection
}

这似乎大部分时间都有效,但也经常出现错误......所以它不是 100%。

如果有人知道这样做的正确方法,我将不胜感激!

【问题讨论】:

    标签: c# winforms combobox


    【解决方案1】:

    不要处理click 事件。一方面,如果用户将焦点放在控件中,它不会触发。使用当控件获得焦点时触发的Enter 事件。而不是清除文本,您应该只选择它,这将提供两全其美:

    1) 用户可以开始输入新文本,这将清除任何旧文本或

    2) 选项卡越过控件并保留包含的文本。

    如果您总是删除之前的文本,您可能会激怒用户。

    【讨论】:

      【解决方案2】:

      尝试“输入”事件。当控件获得对表单的关注时,就会发生这种情况。

      【讨论】:

        猜你喜欢
        • 2012-03-17
        • 2010-09-20
        • 2021-07-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-15
        • 1970-01-01
        相关资源
        最近更新 更多