簡體   English   中英

DateTimePicker更改值不會觸發更改值事件-Winforms

[英]DateTimePicker changing value doesn't fire value changed event - Winforms

我面對DateTimePicker控件的怪異情況。 我有一個帶有短日期格式的DateTimePicker控件。

我通過以下方式在文本框中設置此控件的值:

private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
    {
      textBox1.Text = dateTimePicker1.Value.ToShortDateString();
    }

現在,當我嘗試更改月份(即控件的第一部分)時,如果我輸入兩位數,則會觸發ValueChanged事件,否則不會觸發。

例如,假設我嘗試輸入第6個月,然后在鍵盤上按6,則這次ValueChanged事件不會觸發。 但是,當我按0和6時,它將觸發該事件。 如果輸入11或12,則會觸發ValueChanged事件。 同樣適用於日期部分。

簡而言之,當我在“日期”或“月份”部分中輸入一位數字時,它不會觸發ValueChanged事件,但是當我輸入兩位數字時,它將觸發。 有人可以告訴我為什么它會這樣嗎? 它是DTP的預期行為嗎?

即使輸入一位數字,也如何觸發該事件?

為了保持一致性和簡化性,該字段為2位數字,因此應等待輸入兩者均觸發事件。 即使您不知道可能輸入十月(0),十一月(1)或十二月(2)的另一位數字時,如果您輸入1來表示一月,是否應該觸發

我希望您輸入6並移開該事件就會觸發。

雖然您可以在TextChanged事件上執行某些操作,但是如果您鍵入一個數字,則該事件應該會被觸發,盡管我不確定使用鼠標選擇日期時它是否可以正常工作(最好是檢查一下,回想一下遇到無法啟動的問題)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM