liuwei19840201 发表于 2018-5-2 14:24:08

GcDate如何禁止输入

本帖最后由 liuwei19840201 于 2018-5-7 09:15 编辑

版本 for winform 8.0
GcDate如何禁止输入,只能通过选择日历上的日期来改变值。
希望不要表示输入时的光标「|」。

JeffryLI 发表于 2018-5-4 18:09:26

只能搞ReadOnly = true,除了光标的事儿搞不定,其它都好。
稍等。还有一个不好使的办法
using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace WindowsFormsApp2
{
    public partial class Form1 : Form
    {
      public Form1()
      {
            InitializeComponent();
            this.gcDateTime1.ReadOnly = true;
      }
      
      private static extern bool HideCaret(IntPtr hWnd);
      private void timer1_Tick(object sender, EventArgs e)
      {
            if (this.gcDateTime1.Focused)
            {
                HideCaret(this.gcDateTime1.Handle);
            }
      }
    }
}

一般情况下ReadOnly能满足他的需求,但是如果非要隐藏Caret的话,代码略微抽风一些。启动一个Timer硬搞。非常之不推荐。

liuwei19840201 发表于 2018-5-4 20:46:43

哎呀太感谢了,需要这这么多代码。

JeffryLI 发表于 2018-5-7 12:04:32

不客气
页: [1]
查看完整版本: GcDate如何禁止输入