【问题标题】:How to make telerik autocomplete text box to accept only 1 entry in c# winforms如何使telerik自动完成文本框仅接受c#winforms中的1个条目
【发布时间】:2017-11-27 08:51:58
【问题描述】:

我正在使用 rad 自动完成文本框。在我选择了一个必须禁用的输入后,我只想接受输入,以免不接受任何输入,但我还需要删除该输入,以便用户可以删除以前的输入和输入其他输入。即我只需要完成一个选择。如果已经进行了选择,则必须将该字段设置为只读,如果我删除以前的选择,它应该可以再次编辑。

【问题讨论】:

    标签: c# .net winforms telerik


    【解决方案1】:

    您可以KeyPress 事件并检查radAutoComplete 文本长度,如果有多个则返回。

    private void radAutoCompleteBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (radAutoCompleteBox1.Text.Length > 0)
            e.Handled = true;
    }
    

    您也可以将此代码用于textBoxescomboBoxes 等。

    【讨论】:

    • 这部分解决了我的问题,它只是禁用了多个按键输入。实际需要的是,如果我选择了一个值,它不应该接受关键条目。在从建议中进行选择之前,我可以输入值以便列出匹配的建议。
    • @ajit 如果我说对了,那是不可能的。您可以禁用选定值上的键输入,但用户如何再次输入?
    【解决方案2】:

    根据 Telerik 的说法,这是不可能的,这是正确的,您无法阻止用户“选择”多个条目,但是您可以阻止“存储”多个条目

    所以当用户存在自动完成字段时,我会删除自动完成框中的所有条目 - 除了第一个输入的条目(并培训用户),就像这样。

        private void stripmultientries()
        {
            // remove multi entries in the stock cat box ??? - leaver only the first
            string fulltext = radAutoCompleteBox1.Text;
            // remove everything after the first semi colon //
            int index = fulltext.IndexOf(";");
            if (index > 0)
            {
                fulltext = fulltext.Substring(0, index);
            }
            radAutoCompleteBox1.Text = fulltext;
        }
    

    保存表单或退出自动完成控件时可以调用该方法

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-05
      • 1970-01-01
      • 2019-01-23
      • 1970-01-01
      相关资源
      最近更新 更多