gpt4 book ai didi

c# - 使用 TextChanged 时如何在输入输入之前清除字段?

转载 作者:行者123 更新时间:2023-11-30 14:38:06 24 4
gpt4 key购买 nike

所以我想做的是能够连续输入所有 10 个文本框。我从第一个开始,然后在输入 3 个字符后将焦点移至下一个,并在输入 3 个字符后将焦点移至下一个。

我已经完成了那部分,但是如果第二个文本框中已经有文本怎么办?我已经尝试过 Clear() 但它会产生一个错误,不允许我输入超过 1 个字符。

所以当所有文本框都充满垃圾数据时,所以当我在第一个文本框 123 开始输入然后移动到第二个文本框 456 第三个 789 等。但是先清除下一个字段。

我正在努力解决这个问题:

    public PingIPRange()
{
InitializeComponent();

txtF1.TextChanged += new EventHandler(NextField);
txtF2.TextChanged += new EventHandler(NextField);
txtF3.TextChanged += new EventHandler(NextField);
txtF4.TextChanged += new EventHandler(NextField);

txtT1.TextChanged += new EventHandler(NextField);
txtT2.TextChanged += new EventHandler(NextField);
txtT3.TextChanged += new EventHandler(NextField);
txtT4.TextChanged += new EventHandler(NextField);

txtInterval.TextChanged += new EventHandler(NextField);
txtRepeat.TextChanged += new EventHandler(NextField);
}

private void NextField(object sender, EventArgs e)
{
if (txtF1.TextLength == 3)
{
txtF2.Focus();
}
if (txtF2.TextLength == 3)
{
txtF3.Focus();
}
if (txtF3.TextLength == 3)
{
txtF4.Focus();
}
if (txtF4.TextLength == 3)
{
txtT1.Focus();
}
if (txtT1.TextLength == 3)
{
txtT2.Focus();
}
if (txtT2.TextLength == 3)
{
txtT3.Focus();
}
if (txtT3.TextLength == 3)
{
txtT4.Focus();
}
if (txtT4.TextLength == 3)
{
txtInterval.Focus();
}
if (txtInterval.TextLength == 3)
{
txtRepeat.Focus();
}
if (txtRepeat.TextLength == 3)
{
btnPing.Focus();
}
}
}

最佳答案

为文本框添加 Enter 事件,并对文本执行 SelectAll

txtF2.Enter += SelectTextOnEnter;
txtF3.Enter += SelectTextOnEnter;
// etc.


private void SelectTextOnEnter(object sender, EventArgs e) {
((TextBox)sender).SelectAll();
}

此外,您的 NextField 方法并不完全按照您的想法进行。确保您的控件 TabIndex 值的顺序正确,然后尝试将您的代码更改为:

private void NextField(object sender, EventArgs e) {
if (((TextBox)sender).Text.Length == 3)
this.SelectNextControl((Control)sender, true, true, false, false);
}

它将根据表单的 Tab 键顺序选择下一个控件。

关于c# - 使用 TextChanged 时如何在输入输入之前清除字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8511840/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com