DateTimePicker отображает дату в неправильном формате - PullRequest
0 голосов
/ 03 мая 2011

У меня есть ListView, где вводятся ID и дата.Дата указывается в формате дд / мм / гггг.

enter image description here

В свойстве SelectedIndexChanged я написал это

If lvRecruitmentList.SelectedItems.Count > 0 Then
   txtID.Text = lvRecruitmentList.SelectedItems(0).Text
   dtpRecievedOn.Text = lvRecruitmentList.SelectedItems(0).SubItems(1).Text
End If

В dtpRecieveOn DateTimePickerДата отображается следующим образом:

enter image description here

Я установил следующие свойства в конструкторе

dtpRecievedOn.Format = Custom
dtpRecievedOn.CustomFormat = "dd/MM/yyyy"

Изменить 1 :

Обратите внимание, что в ListView Дата имеет формат dd / MM / yyyy, а в dtpRectainedOn Дата имеет формат MM / dd / yyyy.

Как заставить dtpRectainedOn отображать дату в формате дд / мм / гггг

Ответы [ 2 ]

3 голосов
/ 03 мая 2011

Вы хотите установить значение DateTimePicker в отличие от текста. Вы можете использовать DateTime.ParseExact или DateTime.TryParseExact, чтобы изменить текстовую дату на DateTime. Замените свою третью строку на:

Dim selectedDate As DateTime
Dim format As String = "dd/MM/yyyy"
Dim txt As String = lvRecruitmentList.SelectedItems(0).SubItems(1).Text
selectedDate = DateTime.ParseExact(txt, format, CultureInfo.InvariantCulture)
dtpRecievedOn.Value = selectedDate
0 голосов
/ 03 мая 2011
Dim str As String() = "2/1/2000".Split("/"C)
Dim dt As New DateTime(Convert.ToInt16(str(2)), Convert.ToInt16(str(1)), Convert.ToInt16(str(0)))
dateTimePicker1.Value = dt.Date
...