C# textbox cursor positioning

Posted by Jim on Stack Overflow See other posts from Stack Overflow or by Jim
Published on 2010-05-04T16:55:15Z Indexed on 2010/05/04 16:58 UTC
Read the original article Hit count: 197

Filed under:
|
|

I feel like I am just missing a simple property, but can you set the cursor to the end of a line in a textbox?

    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;
  }

After testing for '.' as first char, the cursor goes before the text that is added. So instead of "0.123", the results are "1230." without moving the cursor myself.

I also apologize if this is a duplicate question.

© Stack Overflow or respective owner

Related posts about c#

Related posts about textbox