私は2人のデートピッカーを持っています。1 つは請求日、もう 1 つは期日です。請求書の日付を明日に指定することは可能です。しかし、コントロールを入力し続けると、期日を今日のままにしておくことができます。これは、入力しなかったために duedate イベントが発生していないシナリオを示しています。さて、実際の請求日よりも短い期日をユーザーに持たせたくありませんが、「期日」のイベントが発生していないため、これを実際に検証することはできません。
コードで検証イベントを発生させる方法を教えてもらえますか?
これは私が今のところ持っているシナリオです:
private void dpInvoiceDate_Validating(object sender, CancelEventArgs e)
{
// Convert the dp invoice date + hour to only date
var dateAndTime = Convert.ToDateTime(dpInvoiceDate.Text);
var date = dateAndTime.Date;
if (!InputChecks.IsGeldigeDatum(DateTime.Now.Date, Convert.ToDateTime(date)))
{
errorProvider1.SetError(dpInvoiceDate, "Invoice date can not be in the past");
e.Cancel = true;
}
else
{
errorProvider1.SetError(dpInvoiceDate, "");
}
}
private void dpDueDate_Validating(object sender, CancelEventArgs e)
{
// Convert the dp invoice date + hour to only date
var dateAndTime = Convert.ToDateTime(dpDueDate.Text);
var date = dateAndTime.Date;
var dateAndTimeInvioceDate = Convert.ToDateTime(dpInvoiceDate.Text);
var dateInvoiceDate = dateAndTimeInvioceDate.Date;
if (date < dateInvoiceDate)
{
errorProvider1.SetError(dpDueDate, "Due date can not be in the past");
e.Cancel = true;
}
else
{
errorProvider1.SetError(dpDueDate, "");
}
}