C# で datetimepicker を使用しています。クリックすると展開して月間カレンダーが表示され、左矢印をクリックして 1 か月前に戻ると、値が変更されてイベントが呼び出されます。このイベントには、ここに含めるには多すぎるコードが含まれていますが、言うまでもなくいくつかの関数を呼び出します。
私が抱えている問題は、その左矢印をクリックすると、ある種のループに陥り、数か月間下降し続け、それを止めることができないことです. 呼び出されている関数の 1 つに Application.DoEvents() が含まれており、それをコメントアウトしてもループに陥ることはありませんが、インターフェイスの別のセクションを更新するにはそのコマンドが必要です。なぜこれが起こっているのですか?
このコードで複製できる場合もあれば、数回実行する場合もあれば、ループでスタックする場合もあります。
private void DateTimePickerValueChangedEvent(object sender, EventArgs e)
{
afunction();
}
private void afunction()
{
listView1.Clear();
panel1.Visible = true;
Application.DoEvents();
}