开发者

DateTimePicker changing value doesn't fire value changed event - Winforms

I'm facing weird situation with DateTimePicker control. I've a DateTimePicker control with short date format.

I'm setting the value of this control in the textbox in the following way:

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

Now, when I try to change the month, which is first section in the control, if I enter two digits it fires ValueChanged event otherwise not.

Say, for example I'm trying to enter 6th month and I press 6 on keyboard, this time ValueChanged event doesn't fire. But when I press 0 and 6 then it fires that event. If I enter 11 or 12 it fires ValueChanged event. Same applies to date section as well.

In short it doesn't fire ValueChanged event when I enter single digit in Date or Month sectio开发者_运维知识库n but it fires when I enter two digits. Can anybody tell me why it is behaving this way? Is it expected behaviour of DTP?

How do I make it fire that event even when I enter single digit?


For consistency and simplicity the field takes 2 digits and so should wait for both to be entered to fire the event. Should it fire when you enter 1 to represent January even though it does not know you might enter another digit for Oct (0), Nov (1) or Dec (2)

I would expect if you entered 6 and tab away the event would fire.

Although you might be able to do something on the TextChanged event which should get fired if you type a single digit although I am not sure it will work when using the mouse to select the date (best to check that as I recall a while back I had issues with it not firing)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜