C#文本框光标定位

标签 c# textbox text-cursor

我觉得我只是缺少一个简单的属性,但是您可以将光标设置到文本框中一行的末尾吗?

private void txtNumbersOnly_KeyPress(object sender, KeyPressEventArgs e)
{
   if (Char.IsDigit(e.KeyChar) || e.KeyChar == '\b' || e.KeyChar == '.' || e.KeyChar == '-')
   {
      TextBox t = (TextBox)sender;
      bool bHandled = false;
      _sCurrentTemp += e.KeyChar;

      if (_sCurrentTemp.Length > 0 && e.KeyChar == '-')
      {
         // '-' only allowed as first char
         bHandled = true;
      }

      if (_sCurrentTemp.StartsWith(Convert.ToString('.')))
      {
         // add '0' in front of decimal point
         t.Text = string.Empty;
         t.Text = '0' + _sCurrentTemp;
         _sCurrentTemp = t.Text; 
         bHandled  = true;
      }

      e.Handled = bHandled;
   }

在测试“.”之后作为第一个字符,光标位于添加的文本之前。因此,结果不是“0.123”,而是“1230”。我自己不移动光标。

如果这是一个重复的问题,我也很抱歉。

最佳答案

t.SelectionStart = t.Text.Length;

关于C#文本框光标定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2767273/

相关文章:

php - 使用 PhpSpreadsheet 编写 xlsx 文件会删除所有文本框

c# - 许多文本框的 onTextChanged 事件 c#

regex - Vim 正则表达式搜索 : alter placement of cursor in matched strings

javascript - 使用 jQuery 设置鼠标焦点并将光标移动到输入的末尾

c# - 如何在 Sublime Text 2 中检查 C#

c# - 系统.IO.IOException : A device attached to the system is not functioning C# . NET 4.0

c# - LINQ To SQL 动态选择

c# - 如何使用linq找到最小值

javascript - 如何限制提示框中可以放入哪些单词,以便为每个单词提供不同的提示?

emacs - Emacs 的扩展十字准线光标