月または年を変更すると、C# の DateTimePicker が自動的に日付を変更していることに気付きました。だから私がしたことは、ValueChanged をオーバーライドすることであり、CloseUp イベントが発生したときにのみ発生します。
問題は、ユーザーがカレンダーで実際に日付を選択した場合、またはユーザーがコントロールの外側をクリックした場合にイベントが必要になることです。
これで私を助けてもらえますか?ありがとう :)
月または年を変更すると、C# の DateTimePicker が自動的に日付を変更していることに気付きました。だから私がしたことは、ValueChanged をオーバーライドすることであり、CloseUp イベントが発生したときにのみ発生します。
問題は、ユーザーがカレンダーで実際に日付を選択した場合、またはユーザーがコントロールの外側をクリックした場合にイベントが必要になることです。
これで私を助けてもらえますか?ありがとう :)
派生クラスではOnCloseUp
、日時コントロールをリセットするとValueChange
イベントが発生しないため、オーバーライドされたメソッドが機能するため、CloseUp
イベントが役立ちます。
void ProductionDateSchdl_CloseUp(object sender, EventArgs e)
{
this.ProductionDateSchdl.CustomFormat = "MM/dd/yyyy";
ProductionDate = Convert.ToDateTime(this.ProductionDateSchdl.Value);
}
派生クラスでは、オーバーライドさOnValueChanged
れたメソッドがうまく機能します。
public class MyDateTimePicker : DateTimePicker
{
// ... some stuff
protected override void OnValueChanged(EventArgs eventargs)
{
System.Diagnostics.Debug.Write("Clicked - ");
System.Diagnostics.Debug.WriteLine(this.Value);
base.OnValueChanged(eventargs);
}
protected override void OnCloseUp(EventArgs eventargs)
{
System.Diagnostics.Debug.Write("Closed - ");
System.Diagnostics.Debug.WriteLine(this.Value);
base.OnCloseUp(eventargs);
}
// some more stuff ...
}