x_g 发表于 2015-9-7 14:16:00

GcNumber控件,设置输入格式可以为小数的时候,如何让输入1.00,光标离开后变成1,再次进入后仍然是1

GcNumber控件,设置输入格式可以为小数的时候,如何让输入1.00,光标离开后变成1,再次进入后仍然是1

x_g 发表于 2015-9-7 14:40:00

求解答

Leo 发表于 2015-9-7 16:14:00

这个简单啊,你在失去焦点后校验一下值,如果是1.00, 把值清了然后再赋值为1是不是能解决问题啊?

Leo 发表于 2015-9-7 16:35:00

      void gcNumber_Validated(object sender, EventArgs e)
      {
            GcNumber gcNumber = sender as GcNumber;
            if (gcNumber == null)
            {
                return;
            }

            var value = gcNumber.Value;
            if (!value.HasValue)
            {
                return;
            }

            var decimalValue = value.Value;
            var turncatedValue = decimal.Truncate(decimalValue);
            if (decimalValue == turncatedValue)
            {
                gcNumber.Clear();
                gcNumber.Value = turncatedValue;
            }
      }

示意代码如上所示。

x_g 发表于 2015-9-7 17:33:00

回复 4楼Leo的帖子

如果是1.20呢

linnerchen 发表于 2015-9-8 08:24:00

你试试
number.Text = number.Text.TrimEnd('0');

x_g 发表于 2015-9-8 10:09:00

问题已经解决了,谢谢

Leo 发表于 2015-9-8 10:43:00

回复 6楼linnerchen的帖子

这样输入100貌似会出问题。。。。。。

Leo 发表于 2015-9-8 10:48:00

这样的话,应该加上判断,有没有小数点?

linnerchen 发表于 2015-9-8 11:33:00

回复 9楼Leo的帖子

这样的逻辑自行处理就行了吧,不属于控件范畴。
页: [1] 2
查看完整版本: GcNumber控件,设置输入格式可以为小数的时候,如何让输入1.00,光标离开后变成1,再次进入后仍然是1