C# textbox cursor-Positionierung

Ich das Gefühl, ich bin nur fehlt eine einfache Eigenschaft, aber Sie können setzen Sie den cursor an das Ende einer Zeile in einer 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;
   }

Nach dem Test für '.' als ersten char, geht der cursor vor den text, der Hinzugefügt wird. Also statt "0.123", die Ergebnisse sind "1230." ohne sich zu bewegen den cursor selbst.

Auch ich entschuldige mich, wenn dies ist eine doppelte Frage.

Dies ist WPF, richtig?

InformationsquelleAutor Jim | 2010-05-04

Schreibe einen Kommentar