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