miyaminn 发表于 2015-2-2 18:23:00

关于GcNumber中负数的负号

请教各位管理员:

GcNumber中输入负数后,全选这个输入值后,输入正数:
现在的情况:直接显示输入的正数
需求:保留负号,显示正数
例如:输入-100后,全选-100,输入50;希望能够显示-50(即保留负号)
不知道能否设定成负号只能删除,全选时不能覆写负号的样子。

Leo 发表于 2015-2-3 10:01:00

有这么几个问题
1. 你这个GcNumber 希望能够输入正数么?
2. 全选删除,结果应该为 0 么?
3. 负号只能删除,在什么条件下删除?单独选择负号?

miyaminn 发表于 2015-2-3 10:33:00

问题1回答:负数正数都能输入

问题2回答:全选删除,为空白

问题3回答:负号删除的话,按照现在InputMan的式样没问题。

现在只想在全选状态下,如果全选的是负数的话,再输入时,负号能够保留。

Leo 发表于 2015-2-3 11:11:00

回复 3楼miyaminn的帖子

尝试以下Code:
public Form2()
      {
            InitializeComponent();

            this.gcNumber1.TextChanging += gcNumber1_TextChanging;
      }

      void gcNumber1_TextChanging(object sender, GrapeCity.Win.Editors.TextChangingEventArgs e)
      {
            this.gcNumber1.ValueSign = GrapeCity.Win.Editors.ValueSignControl.NoControl;
            if (this.gcNumber1.SelectionLength == this.gcNumber1.TextLength)
            {
                if (gcNumber1.Value >= 0)
                {
                  return;
                }

                var result = e.Result;

                decimal targetValue;
                if (decimal.TryParse(result, out targetValue))
                {
                  if (targetValue > 0)
                  {
                        this.gcNumber1.ValueSign = GrapeCity.Win.Editors.ValueSignControl.Negative;
                  }
                }
            }
      }
有啥不爽自己微调一下。

miyaminn 发表于 2015-2-4 14:59:00

多谢回答。:hjyzw:

Alice 发表于 2015-2-4 16:18:00

回复 5楼miyaminn的帖子

回答能够解决你的问题么?
如果解决了,此问题关闭。
如果有新问题请开新帖交流。

miyaminn 发表于 2015-2-5 12:44:00

问题解决,多谢各位版主的回答

Alice 发表于 2015-2-5 15:33:00

回复 7楼miyaminn的帖子

不用客气。
页: [1]
查看完整版本: 关于GcNumber中负数的负号