验证中的C#TabStop不起作用



如果我的TextBox中有这些行,验证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));
}
}

好的,我找到了一个解决方法。。

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,我手动将焦点设置为下一个控件。所以我的tabstop正在工作。

相关内容

  • 没有找到相关文章

最新更新