【问题标题】:Pasting values into DatetimePicker将值粘贴到 DatetimePicker
【发布时间】:2015-06-26 16:40:51
【问题描述】:

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

用户想要点击一些包含时间的文本框字段,例如14:25:56,然后按CTRL + C。然后他想点击 DateTimePicker 并按 CTRL + V 将此时间粘贴到 DateTimePicker 中的日期中。

默认情况下它不起作用。有没有可能让类似的东西发挥作用?

【问题讨论】:

    标签: c# copy-paste datetimepicker


    【解决方案1】:

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

    一旦你知道 CTRL+V 被按下,你可以创建一些代码来解析 Clipboard.GetText(); 返回的字符串,使用 DateTime.Parse(); 作为 defined on MSDN 并将值存储在日期中 -时间选择器。这是我得到的。您将需要进行一些验证以确保文本格式正确。您可以使用 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;
        }
    }
    

    我希望这会有所帮助。

    【讨论】:

    • 听起来很有趣。我试试看。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多