想要将键入位置移动到线的末端,如果删除最后一个字符并立即替换C#

我有一个文本框,每次删除文本框中的最后一个数字时,都可以将其重置为0,但是让这个烦人的是替换它时。您键入的光标在0的左侧移动,然后使您在0之后单击0之后输入的任何内容都具有0,以便进行它,以便当我删除最后一个数字时,它会返回到新替换的数字的权利?

  1. private void iterations_TextChanged(object sender, EventArgs e)
  2. {
  3. resetToZero(iterations);
  4. }
  5. private void resetToZero(TextBox x)
  6. {
  7. if (x.Text == "")
  8. {
  9. x.Text = "0";
  10. }
  11. }

看答案

要将光标放在文本的末尾,您只需设置 SelectionStart 至 1,这是在 0,或更一般地,您可以使用文本框的长度 Text 财产:

  1. private void resetToZero(TextBox x)
  2. {
  3. if (x.Text == "")
  4. {
  5. x.Text = "0";
  6. x.SelectionStart = x.TextLength;;
  7. }
  8. }

或者,要将零放在那里,然后自动选择文本,您可以做:

  1. private void resetToZero(TextBox x)
  2. {
  3. if (x.Text == "")
  4. {
  5. x.Text = "0";
  6. x.SelectionLength = x.TextLength;
  7. }
  8. }

未经允许不得转载:迪欧吧_技术交流_资源分享_热点资讯_免费VPS空间 » 想要将键入位置移动到线的末端,如果删除最后一个字符并立即替换C#