3

私は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, "");
        }
    }
4

1 に答える 1

0

請求書の日付を検証するときにメソッド Update() を呼び出すことをお勧めします。

dpDueDate.Update();
于 2016-05-31T23:25:25.823 に答える