7
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Form2.Show()

    Form2.TextBox1.Text = dgv1.CurrentRow.Cells(0).Value.ToString
    Form2.TextBox2.Text = dgv1.CurrentRow.Cells(1).Value.ToString
    Form2.TextBox3.Text = dgv1.CurrentRow.Cells(2).Value.ToString
    Form2.TextBox4.Text = dgv1.CurrentRow.Cells(3).Value.ToString
    Form2.TextBox5.Text = dgv1.CurrentRow.Cells(4).Value.ToString
    Form2.TextBox6.Text = dgv1.CurrentRow.Cells(5).Value.ToString
    Form2.TextBox7.Text = dgv1.CurrentRow.Cells(6).Value.ToString

textbox5 应该只显示日期,但是当我单击按钮时,文本框会显示日期和时间。例如:2012 年 12 月 1 日凌晨 12:00。

如何删除显示在文本框中的时间?

4

5 回答 5

8

由于 CurrentCells(4).Value 是一个对象,请尝试将其DateTime转换为然后使用ToShortDateString Method

Form2.TextBox5.Text = CType(dgv1.CurrentRow.Cells(4).Value, DateTime).ToShortDateString

或者如果转换成功,您可以使用DateTime.TryParsewhich 将返回 true

Dim tempDate As Date
If DateTime.TryParse(CStr(dgv.CurrentRow.Cells(4).Value), tempDate) Then
    Form2.TextBox5.Text = tempDate.ToShortDateString
Else
    Form2.TextBox5.Text = "Invalid Date"
End If
于 2012-12-06T05:46:54.373 回答
2

尝试...

If dgv1.CurrentRow.Cells(4).Value IsNot Nothing
    Form2.TextBox5.Text = String.Format("{0:dd/mm/YYYY}", dgv1.CurrentRow.Cells(4).Value)
Else
    Form2.TextBox5.Text = ""
End If
于 2012-12-05T15:41:50.927 回答
1

我刚刚删除了这一行中的 .ToString :

Form2.TextBox5.Text = dgv1.CurrentRow.Cells(4).Value.ToString

当我删除 .ToString 时,它只在日期文本框中显示短日期

于 2012-12-06T11:11:44.427 回答
1

有一个日期时间格式功能。检查这个http://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.71).aspx

于 2012-12-05T15:42:07.027 回答
0

尝试这个

declare MyTime as datetime
Mytime  =  dateadd(day, -datediff(day, 0, Date.now), Date.now)
于 2019-01-17T02:11:30.820 回答