刷新后,光标在开始处跳

时间:2019-02-01 08:53:47

标签: c# winforms telerik

我有一个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 :(得分:0)

找到了此问题的原因以及如何解决。 我不知道这是否是最好的方法,但就我而言,它可行。

读取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()然后将文本解析为十进制似乎可以解决问题。