sxyweiren 发表于 2016-11-21 17:15:25

[控件Bug]GxNumber设置Value等于0后,表现不正确的问题

GcNumber的控件,设置Fileds为#####
DisPlayFields清空。
在这种情况下,如果输入0后,光标迁移到其他控件的时候,表现的还是0

但是如果是Button的Click事件,给GcNumber赋值0(XXX.Value = 0)
这个时候,控件表现的竟然是空白。

这个问题怀疑是GcNumber控件的Bug,请确认。

Leo 发表于 2016-11-23 09:59:17

抱歉让您久等,这边这两天有一些发布的工作,忙疯了,论坛这边压根顾不上。
这个其实怎么说呢,对于控件而言,如果当前的Value = 0, 这个时候设置GcNumber的值为 0, set_Value逻辑为了不必做额外的工作会直接返回。
这就导致了不经意间的一些副作用,比如说您刚才碰到的那个。解决方案也可以很简单,设置Text属性为"0"即可。
示例代码如下:
      private void button1_Click(object sender, EventArgs e)
      {
            if (this.gcNumber1.Value == 0 && String.IsNullOrEmpty(this.gcNumber1.Text))
            {
                this.gcNumber1.Text = "0";
            }
            else
            {
                this.gcNumber1.Value = 0;
            }            
      }

sxyweiren 发表于 2016-11-23 10:18:20

Leo 发表于 2016-11-23 09:59
抱歉让您久等,这边这两天有一些发布的工作,忙疯了,论坛这边压根顾不上。
这个其实怎么说呢,对于控件而 ...

额,现在倒是用这个方案做的。

因为检查到出问题的位置,正好处于共通逻辑里面。所以现在正在测试中。
不知道这么改会有什么样子的影响。
如果你们能给些提示最好了。比如测试注重点什么的。

注:很多自定义控件都会走这一句代码,所以需要很仔细的测试。

sxyweiren 发表于 2016-11-23 10:18:24

Leo 发表于 2016-11-23 09:59
抱歉让您久等,这边这两天有一些发布的工作,忙疯了,论坛这边压根顾不上。
这个其实怎么说呢,对于控件而 ...

额,现在倒是用这个方案做的。

因为检查到出问题的位置,正好处于共通逻辑里面。所以现在正在测试中。
不知道这么改会有什么样子的影响。
如果你们能给些提示最好了。比如测试注重点什么的。

注:很多自定义控件都会走这一句代码,所以需要很仔细的测试。

Leo 发表于 2016-11-23 11:32:31

sxyweiren 发表于 2016-11-23 10:18
额,现在倒是用这个方案做的。

因为检查到出问题的位置,正好处于共通逻辑里面。所以现在正在测试中。 ...

综合考虑,影响应当不大。
页: [1]
查看完整版本: [控件Bug]GxNumber设置Value等于0后,表现不正确的问题