'宣言 Public Property DoEvents As System.Boolean
'使用法 Dim instance As C1FlexReport 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 C1FlexReport Dim value As System.Boolean instance.DoEvents = value value = instance.DoEvents
public System.bool DoEvents {get; set;}
このプロパティを true に設定すると、レポートを同期モードで生成中に、ユーザーがフォームをサイズ変更したり、ボタンをクリックすることができます。これにより、アプリケーションの応答性がよくなります。また、[レポートのキャンセル]ボタンを提供する場合は、true に設定する必要があります。そうしないと、レポートの生成が終わるまでユーザーがボタンをクリックできなくなります。
このプロパティを false に設定すると、レポートが多少速くレンダリングされます。
次のコードは、 C1FlexReportコンポーネントに関連付けられた[Render]ボタンと[Cancel]ボタンを実装します。
[Render]ボタンは、レポートのレンダリングを開始する前に C1FlexReportコンポーネントがビジー状態かどうかをチェックします。コンポーネントがレポートのレンダリングを終了する前に、ユーザーが連続して[Render]ボタンをクリックする可能性があるため、この処理は必要です。コンポーネントがビジー状態のときに Renderメソッドを呼び出すと、 System.Exceptionが生成されます。
[Cancel]ボタンは、コンポーネントがレポートをレンダリングしているかどうかをチェックし、 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("キャンセルするレポートはありません。"); } }