У меня есть текстовое поле с буквами и цифрами и другими символами, которые вы можете найти на клавиатуре. У меня есть этот код, который отлично работает, когда я вручную помещаю данные, и это позволяет мне вводить числа и удалять письма. Все, что я хочу, кроме этого, не работает, если данные копируются и вставляются. Ниже мой код.Извлечь числа из текстового поля
private void textBox7_TextChanged(object sender, EventArgs e)
{
Exception X = new Exception();
TextBox T = (TextBox)sender;
T.Text = T.Text.Trim();
try
{
if (T.Text != "-")
{
int x = int.Parse(T.Text);
}
}
catch (Exception)
{
try
{
int CursorIndex = T.SelectionStart - 1;
T.Text = T.Text.Remove(CursorIndex, 1);
//Align Cursor to same index
T.SelectionStart = CursorIndex;
T.SelectionLength = 0;
}
catch (Exception) { }
}
}
Пожалуйста, отправьте код, который скомпилирует. У вас было много неправильных скобок, которые я исправил для вас. – gunr2171
Попробуйте добавить точку останова, а затем снова вставить текст? ... Интересно, бросает ли паста всю строку, в отличие от ввода вручную, когда метод TextChanged будет вызываться один раз за символ ... – Ian
@Ian Это точно, что делает паста. – juharr