正在将值粘贴到DatetimePicker中

本文关键字:DatetimePicker | 更新日期: 2023-09-27 17:59:55

我的C#Windows应用程序中有DateTimePicker控件。其中一些格式显示日期,而另一些则显示时间。

用户希望单击某些文本框字段,该字段包含14:25:56等文本格式的时间,然后按CTRL+C。然后,他想点击DateTimePicker并按CTRL+V将此时间粘贴到DateTimePickers中的日期中。

默认情况下不起作用。有可能让这样的东西发挥作用吗?

正在将值粘贴到DatetimePicker中

大约一年前,我做了类似的事情,将值粘贴到数据网格中。我通过在要将值粘贴到的控件的KeyDown事件上放置一个事件处理程序来处理它,然后可以使用事件参数来检查按下了哪些字符(在本例中为V)以及按下了哪些修改键(CTRLSHIFTALT等)。

一旦您知道按下了CTRL+V,就可以创建一些代码来使用MSDN上定义的DateTime.Parse();解析Clipboard.GetText();返回的字符串,并将值存储在日期-时间选择器中。这是我得到的。您需要进行一些验证,以确保文本的格式正确。您可以使用DateTime.TryParse();而不是像我使用的DateTime.Parse()来执行此操作。

private void dateTimePicker1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Modifiers == Keys.Control && e.KeyCode == Keys.V)
    {
        dateTimePicker1.Value = DateTime.Parse(Clipboard.GetText());
        e.Handled = true;
    }
}

我希望这能有所帮助。