在我的文本框中,我的值为“07-31-2017”。我希望这个值在我的datetimepicker1上传递。所以datetimepicker1可以显示我的文本框的值。
在vb.net中代码如下:
dateTimePicker1.Value = Date.Parse(textbox.Text)
但在C#中如何?
答案 0 :(得分:1)
dateTimePicker.Value = DateTime.Parse(textBox.Text);
仅在文本框中存在有效的日期时间值时才有效。除非您100%确定格式正确,否则我不建议使用文本框。
还有一个TryParse()选项可确保日期时间正确。
DateTime newDateTime;
if (DateTime.TryParse(textBox1.Text, out newDateTime))
{
dateTimePicker1.Value = newDateTime;
}
else
{
// Datetime is invalid
}
答案 1 :(得分:1)
以@Michael Tralala的回答为基础:
DateTime newDateTime;
if (DateTime.TryParse(textBox1.Text, out newDateTime))
{
dateTimePicker1.Value = newDateTime;
}
else
{
// Datetime is invalid
}
DateTime.TryParse将返回boolean
,具体取决于字符串是否可以转换为DateTime。我们可以使用out newDateTime
来减少代码和转换的数量,我们基本上保证文本框的值不会在评估之间发生变化。它可能会发生变化的一个例子是多线程应用程序。
此外,我们可以使用ELSE
的{{1}}来处理意外的转换问题。这比使用IF
要好得多,因为DateTime.Parse
可能会抛出异常,生成起来可能非常昂贵,具体取决于此代码的使用位置。
答案 2 :(得分:-1)
简单
public form1()
{
InitializeComponent();
dateTimePicker1.Value =DateTime.Parse( label.Text);
}
.....