验证中的C#TabStop不起作用

时间:2018-07-12 13:36:20

标签: c# autocomplete textbox tabstop validating-event

如果我的TextBox_Valid中有这些行,则TextBox上的Tabstop将触发两次:

((TextBox)sender).AutoCompleteCustomSource.AddRange(new string[]
{
    ((TextBox)sender).Text,
});

但是如果删除Tabstop上方的行是否正常并且仅触发一次?

这是整个功能:

 private void TextBox_Validating(object sender, EventArgs e)
    {
        if (!((TextBox)sender).AutoCompleteCustomSource.Contains(((TextBox)sender).Text) && ((TextBox)sender).TextLength > 0)
        {
            ((TextBox)sender).AutoCompleteCustomSource.AddRange(new string[]
            {
               ((TextBox)sender).Text,
            });

            SaveHistoryTextBox(((TextBox)sender));
        }
    }

1 个答案:

答案 0 :(得分:0)

好,我找到了解决方法。

        private void TextBox_Validating(object sender, EventArgs e)
    {
        if (!((TextBox)sender).AutoCompleteCustomSource.Contains(((TextBox)sender).Text) && ((TextBox)sender).TextLength > 0)
        {
            ((TextBox)sender).AutoCompleteCustomSource.AddRange(new string[]
            {
               ((TextBox)sender).Text,
            });

            SaveHistoryTextBox(((TextBox)sender));

            Control p;
            p = ((TextBox)sender).Parent;
            p.SelectNextControl(ActiveControl, true, true, true, true);
        }
    }

使用p.SelectNextControl手动将焦点设置到下一个控件。所以我的制表符正在工作。