'宣言 Public Property DoEvents As System.Boolean
public System.bool DoEvents {get; set;}
'宣言 Public Property DoEvents As System.Boolean
public System.bool DoEvents {get; set;}
このプロパティを true に設定すると、レポートの生成中に、ユーザーがフォームをサイズ変更したり、ボタンをクリックすることができます。これにより、アプリケーションの応答性がよくなります。また、レポートのキャンセルボタンを提供する場合には必要です。そうしないと、レポートの生成が終了するまで、ユーザーはこのボタンをクリックできなくなります。
このプロパティを false に設定すると、レポートが多少速くレンダリングされます。
次のコードは、C1Report コンポーネントに関連付けられた[Render]ボタンと[Cancel]ボタンを実装します。
[Render]ボタンは、レポートのレンダリングを開始する前に C1Reportコンポーネントがビジー状態かどうかをチェックします。コンポーネントがレポートのレンダリングを終了する前に、ユーザーが連続して[Render]ボタンをクリックする可能性があるため、この処理は必要です。コンポーネントがビジー状態のときに C1Report.Render メソッドを呼び出すと、System.Exception が生成されます。
[Cancel]ボタンは、コンポーネントがレポートをレンダリングしているかどうかをチェックし、C1Report.Cancel プロパティを true に設定します。
_c1r.DoEvents = true; private void Render_Click(object sender, EventArgs e) { if (_c1r.IsBusy) { Console.WriteLine("コンポーネントがビジー状態なので描画できません"); } else { ppv.Document = c1r.Document; } } private void Cancel_Click(object sender, EventArgs e) { if (_c1r.IsBusy) { _c1r.Cancel = true; } else { Console.WriteLine("レポート描画をキャンセルしません"); } }