请参考下面的截图:
datetime 控件是 Compact Framework DateTimePicker,编号按钮是标准 Button 控件。
单击 DateTimePicker 的箭头会显示一个日历控件,允许用户选择日期。但是,如果用户单击所选文本日期的任何部分,它会突出显示并且可以使用硬键或屏幕键盘进行修改。我试图用我的标准按钮来模拟这个功能。
我已经尝试过以下方法,但目前这只会导致 DateTimePicker 失去焦点。
const int KEYEVENTF_KEYUP = 0x2;
const int KEYEVENTF_KEYDOWN = 0x0;
const int VK_NUMPAD1 = 0x61;
private void digitButton_Clicked(object sender, EventArgs e)
{
keybd_event(VK_NUMPAD1, 0, KEYEVENTF_KEYDOWN, 0);
keybd_event(VK_NUMPAD1, 0, KEYEVENTF_KEYUP, 0);
}
[DllImport("coredll.dll", EntryPoint = "keybd_event", SetLastError = true)]
public static extern void keybd_event
(
byte bVk,
byte bScan,
int dwFlags,
int dwExtraInfo
);