FlexReport for WPF
DoEvents プロパティ (FlexReport)
使用例 


C1.WPF.Report アセンブリ > C1.WPF.Report 名前空間 > FlexReport クラス : DoEvents プロパティ
同期モードでレポートをレンダリングする際に、コントロールが Windows メッセージを処理する必要があるかどうかを指定します。
シンタックス
'宣言
 
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("キャンセルするレポートはありません。");
}
}
参照

FlexReport クラス
FlexReport メンバ