'宣言 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 に設定すると、ドキュメントが多少速く生成されます。
次のコードは、C1PrintDocument に関連付けられた[生成]ボタンと[キャンセル]ボタンを実装します。
[生成]ボタンは、ドキュメントの生成を開始する前にドキュメントがビジー状態かどうかをチェックします。ドキュメントが生成を終了する前に、ユーザーが連続して[生成]ボタンをクリックする可能性があるため、この処理は必要です。コンポーネントがビジー状態のときに Generate メソッドを呼び出すと、例外が生成されます。
[キャンセル]ボタンは、ドキュメントが現在生成中かどうかをチェックし、生成中の場合は Cancel プロパティを true に設定します。
_doc.DoEvents = true; private void Generate_Click(object sender, EventArgs e) { if (_doc.BusyState != BusyStateEnum.Ready) Console.WriteLine("現在ドキュメントはビジーのため、生成できません。"); else _doc.Generate(); } private void Cancel_Click(object sender, EventArgs e) { if (_doc.BusyState != BusyStateEnum.Ready) _doc.Cancel = true; else Console.WriteLine("ドキュメントは生成中でないため、キャンセルできません。"); }