1. 程式人生 > >c# datetimepicker控制元件 結束編輯狀態取值問題

c# datetimepicker控制元件 結束編輯狀態取值問題

今天在使用時發現datetimepicker控制元件使用時有個問題,用鍵盤輸入去改變它的值,如果焦點沒有離開datetimepicker控制元件,直接點選toolStripButton1,取到的值還是原始值,解決方案,強制對別的控制元件新增焦點。

執行時將滑鼠移至控制元件上的日期處輸入6(此時控制元件顯示值是 2011/1/6)

1. 使用 toolStripButton1,此時您的 dateTimePicker1 還處在編輯狀態,因此您取到的是 2011/1/5

2. 使用 Button1,dateTimePicker1 離開編輯狀態,因此您取到的是 2011/1/6

您可以透過設定焦點,讓 dateTimePack 離開編輯狀態,例如

    private void toolStripButton1_Click(object sender, EventArgs e)
    {
      this.Focus();
      this.Text = dateTimePicker1.Value.ToShortDateString();
    }