加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#文本框光标定位

发布时间:2020-12-15 06:19:33 所属栏目:百科 来源:网络整理
导读:我觉得我刚刚错过了一个简单的属性,但是你可以将光标设置到文本框中的一行的末尾吗? private void txtNumbersOnly_KeyPress(object sender,KeyPressEventArgs e){ if (Char.IsDigit(e.KeyChar) || e.KeyChar == 'b' || e.KeyChar == '.' || e.KeyChar == '
我觉得我刚刚错过了一个简单的属性,但是你可以将光标设置到文本框中的一行的末尾吗?
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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读