Я чувствую, что мне просто не хватает простого свойства, но можете ли вы установить курсор в конец строки в текстовом поле?
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;
}
После тестирования для '.' как первый char, курсор идет перед добавленным текстом. Таким образом, вместо "0.123", результаты "1230". без перемещения курсора.
Я также извиняюсь, если это дублирующий вопрос.