2

日付をチェックしてユーザーにメッセージを表示する ValueChanged イベントがあり、DateTimePicker の値を別の値に設定します。これはイベントです:

private void dtpStartDate_ValueChanged(object sender, EventArgs e)
{
    if (frmDate.Value < this.minDate)
    {
        MessageBox.Show("Date not found");
        frmDate.Value = previousValue;
        return;
    }
}

これは Windows 7 では正常に機能しますが、Windows XP ではメッセージ ボックスが 2 回表示されます。どうすれば修正できますか?

4

2 に答える 2

0

多くの労力を費やしたくない場合は、ただ汚いだけです:)

private DateTime _lastDate;
private void dtpStartDate_ValueChanged(object sender, EventArgs e)
{
    if (_lastDate != frmDate.Value) {
        _lastDate = frmDate.Value;
        if (_lastDate < this.minDate)
        {
            MessageBox.Show("Date not found");
            frmDate.Value = previousValue;
            return;
        }
    }
}
于 2012-04-12T12:22:14.527 に答える