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.
t.SelectionStart = t.Text.Length;
in WPF you should use :
textBox.Select(textBox.Text.Length,0);
where 0 is the number of characters selected
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With