将值粘贴到 DatetimePicker
Pasting values into DatetimePicker
我的 C# Windows 应用程序中有 DateTimePicker 控件。其中一些格式化为显示日期,而另一些则显示时间。
用户想要点击一些文本框字段,其中包含文本格式的时间,例如 14:25:56
,然后按 CTRL + C.然后他想单击 DateTimePicker 并按 CTRL + V 将此时间粘贴到 DateTimePicker 中的日期。
默认情况下不起作用。是否有可能使类似的东西完全起作用?
大约一年前我做了类似的事情,将值粘贴到数据网格中。我通过在要将值粘贴到的控件的 KeyDown 事件上放置一个事件处理程序来处理它,然后您可以使用事件参数来检查哪些字符(在此在这种情况下,V) 被按下并且修改键 (CTRL, SHIFT, ALT, 等) 被按下。
一旦您知道 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;
}
}
希望对您有所帮助。
我的 C# Windows 应用程序中有 DateTimePicker 控件。其中一些格式化为显示日期,而另一些则显示时间。
用户想要点击一些文本框字段,其中包含文本格式的时间,例如 14:25:56
,然后按 CTRL + C.然后他想单击 DateTimePicker 并按 CTRL + V 将此时间粘贴到 DateTimePicker 中的日期。
默认情况下不起作用。是否有可能使类似的东西完全起作用?
大约一年前我做了类似的事情,将值粘贴到数据网格中。我通过在要将值粘贴到的控件的 KeyDown 事件上放置一个事件处理程序来处理它,然后您可以使用事件参数来检查哪些字符(在此在这种情况下,V) 被按下并且修改键 (CTRL, SHIFT, ALT, 等) 被按下。
一旦您知道 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;
}
}
希望对您有所帮助。