yin_tb 发表于 2020-11-7 18:57:03

C1DateEdit的Clear清除VALUE的问题

如果,C1DateEdit的Clear清除VALUE的问题, 为何将它下拉列表的Clear显示了,点Clear也清掉了,但当焦点到别的空件后,日期内容又显示出来了。我也看了Alice回复某个伙伴的帖子,说处理Delete键,这个我能实现,我就是想问,Clear按钮不管用吗?我的C1版本是2018V1版本。

yin_tb 发表于 2020-11-7 19:04:56

Alice的DEMO我试了,一个道理,Clear不起作用,控件换了焦点,值又出来了,除非是捕获DELETE键或用单独的按钮把VALUE设为NULL.这是个BUG吗?Clear不起作用的问题。

Richard.Ma 发表于 2020-11-8 01:27:33

问题已经收到,我周一会给你验证一下这里的问题原因。然后给你回复

yin_tb 发表于 2020-11-9 18:38:39

明天帮我看下

Richard.Ma 发表于 2020-11-10 02:33:07

本帖最后由 Richard.Ma 于 2020-11-10 02:34 编辑

Clear按钮是管用的,也清除了日期,目前的问题在于C1DateEdit控件失去光标时会默认一个日期,我白天帮你尝试了用下面的代码,在Leave事件中判断,这样可以去掉添加的日期,但是如果是在C1DateEdit失去焦点然后再清空的情况下,仍然是没有作用的,我明天会再看看是否有其他的办法

      bool isnull = false;
      private void C1DateEdit1_ValueChanged(object sender, EventArgs e)
      {
            isnull = (String.IsNullOrEmpty(c1DateEdit1.Text));
      }

      private void C1DateEdit1_Leave(object sender, EventArgs e)
      {
            if (isnull)
                c1DateEdit1.Text="";
      }

yin_tb 发表于 2020-11-10 07:24:29

辛苦了,我说的和你试的是一回事,焦点离开,又有值了,那不还是等于clear不管用吗。你直接提交这个BUG吧,别浪费时间了,我捕获delete用着吧,你用level等好像也不好弄,因为你如何知道你点过clear呀,如果能知道点了clear,那就好办了。我最近发现一个问题,C1这个组件,得超过20年了,为何在一些小细节上,总是那么多的BUG

Richard.Ma 发表于 2020-11-10 09:56:25

嗯,软件产品bug确实没有办法完全避免,bug我这边会提上去后在此贴更新处理状态,此贴状态会变更为保留处理

王健 发表于 2022-2-9 19:57:35

为什么我按Delete键也一样会恢复呀?

Richard.Ma 发表于 2022-2-10 10:31:36

你好,上面的代码可以稍作修改,在Leave事件中设置Value为null,这样就能避免这个问题了


      bool isnull = false;
      private void C1DateEdit1_ValueChanged(object sender, EventArgs e)
      {
            isnull = (String.IsNullOrEmpty(c1DateEdit1.Text));
      }

      private void C1DateEdit1_Leave(object sender, EventArgs e)
      {
            if (isnull)
            {
                c1DateEdit1.Value = null;
            }
               
      }
页: [1]
查看完整版本: C1DateEdit的Clear清除VALUE的问题