当一个控件获得焦点时,怎么样才能知道是通过鼠标点击让其获得焦点的,还是通过按tab键让其获得焦点的

解决方案 »

  1.   

    问题帖:http://bbs.csdn.net/topics/390462115,后来用这个方法有bugprivate void Form1_Load(object sender, EventArgs e)
            {
               dateTimePicker1.GotFocus +=new EventHandler(dateTimePicker1_GotFocus);
            }
     
            private void dateTimePicker1_GotFocus(object sender, EventArgs e)
            {
                SendKeys.Send("{right}");
                SendKeys.Send("{right}");
                dateTimePicker1.GotFocus -= new EventHandler(dateTimePicker1_GotFocus);
            }直接点击日期下拉框后,日期默认会自动向后移两天
      

  2.   

    可以通过调用api keybd_event 获得,
    具体查msdn