私は下部にStatusStripを持つメインフォームを持っています。 このストリップには、最後の操作に関する情報を含むラベルが表示されます。 これは次のように行われます。StatusStripによって背景のちらつきが発生する
フォームコンストラクタで:
console.added += new EventHandler<Eventargs>(showlast);
console.addedは、カスタムイベントである、それは何かがコンソールリストに追加されるたびに実行されます。 は次eventfunction:
private void showlast(object sender, EventArgs e)
{
statusStripLabel1.Text = console.clist.Last().ToString().Replace('\t','');
}
CLISTは私のコンソールのエントリが含まれて静的クラスコンソールのlistelementている間。
これは、コードを含むmainformの上に他のフォームを表示すると、コンソールが更新されるたびに、バックグラウンドでメインフォームが一度更新されるたびに、再度読み込まれるようなエントリがコンソールに追加されます。メインフォームはフルスクリーンで、他のフォームのほとんどは、ツールウィンドウです。これは見逃すことはできません:)
ストリップが更新されたときにフォーム全体を新規に読み込まない方法はありますか? (それが理由ならば?)。他の賢明な私はストリップを削除する必要があります - もちろん、私はそれを保つしたいと思います:)
あなたの答えを先にありがとう!
1)Form
にDoubleBuffered = 'True'
を設定します。
StatusStripのResizeイベントが発生していないか確認してください。 –