Курсор прыгает в начале после обновления - PullRequest
0 голосов
/ 01 февраля 2019

У меня есть RadSpinEditor, где я печатаю некоторые значения;Каждый раз, когда я набираю число в RadSpinEditor, запускается событие для radPanel_Paint;После каждого типа в RadSpinEditor курсор переходит на первую позицию, поэтому я не могу набрать 13, потому что когда я нажимаю 1, курсор переходит на первую позицию, поэтому он будет 31;Это примерно так:

 private void radSpinEditor_KeyUp(object sender, KeyEventArgs e)
 {
     this.radPanel.Refresh()
 }

 private void radPanel_Paint(object sender, PaintEventArgs e)
 {
     decimal x = this.radSpinEditor.Value;
     //then i draw a rectangle with this x and some other variables
 }

1 Ответ

0 голосов
/ 01 февраля 2019

Нашли причину этой проблемы и способы ее решения.Я не знаю, является ли это лучшим способом сделать это, но в моем случае это работает.

Когда читается значение из RadSpinEditor, каким-то образом текст изменяется, так что он корректируется элементом управления.

Решение:

private void radSpinEditor_KeyUp(object sender, KeyEventArgs e)
 {
     this.radPanel.Refresh()
 }

 private void radPanel_Paint(object sender, PaintEventArgs e)
 {
     decimal x = decimal.Parse(this.radSpinEditor.GetPlainText());
     //then i draw a rectangle with this x and some other variables
 }

Использование radSpinEditor.GetPlainText (), а затем синтаксический анализ текста в десятичном виде, похоже, решает проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...