'宣言 Public Property CalcFrequency As CalcFrequency
public CalcFrequency CalcFrequency {get; set;}
CalcFrequency プロパティは計算が実行される時を決定します。ReCalc メソッドがコードで明示的に呼び出されたときに、タイマーで非同期的に、値の変更に応じて同期、または手動で実行できます。
デフォルトで、計算はタイマーで非同期に実行されます。これは、長いまたは複雑な計算が実行されるときに UI スレッドがロックされないことを保証します。このモードの欠点は、コードでリクエストされた時に特定の値を計算しない場合があることです。Asynchronous モードを使用して計算値を取得する場合、Infragistics.Win.CalcEngine.IUltraCalcManager.EnsureCalculated(Infragistics.Win.CalcEngine.IUltraCalcReference,System.Boolean) メソッドを呼び出し、値が計算されていることを確認します。
Synchronous モードは、計算のソースが変更されるといつでもすべての計算を即座に更新します。Asynchronous モードと異なり、要求された時に計算されるように値は常に依存できます。このモードの欠点は、長いまたは複雑な計算が完了するまで UI スレッドをロックする場合があることです。
Manual モードでは、UltraCalcManager による計算は、ReCalc や Infragistics.Win.CalcEngine.IUltraCalcManager.EnsureCalculated(Infragistics.Win.CalcEngine.IUltraCalcReference,System.Boolean) など、コードでメソッドを明示的に呼び出すまで実行されません。これによって計算が実行される時期を完全に制御できます。
Imports Infragistics.Win.UltraWinCalcManager Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.UltraCalcManager1.CalcFrequency = CalcFrequency.Asynchronous Me.UltraCalcManager1.AsynchronousCalcDuration = 100 Me.UltraCalcManager1.AsynchronousCalcInterval = 20 Dim errorIcon As Icon = New Icon("C:\Error Icon.ico") Me.UltraCalcManager1.ErrorIcon = errorIcon Me.UltraCalcManager1.ErrorIconAlignment = CalcErrorIconAlignment.MiddleLeft End Sub
using Infragistics.Win.UltraWinCalcManager; private void Form1_Load(object sender, System.EventArgs e) { this.ultraCalcManager1.CalcFrequency = CalcFrequency.Asynchronous; this.ultraCalcManager1.AsynchronousCalcDuration = 100; this.ultraCalcManager1.AsynchronousCalcInterval = 20; Icon errorIcon = new Icon(@"C:\Error Icon.ico"); this.ultraCalcManager1.ErrorIcon = errorIcon; this.ultraCalcManager1.ErrorIconAlignment = CalcErrorIconAlignment.MiddleLeft; }