FlexReport for WinForms
DoEvents プロパティ
使用例 


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

C1FlexReport クラス
C1FlexReport メンバ