Calling SuspendCalc will temporarily suspend any automatic calculations performed by the UltraCalcManager until a subsequent call to ResumeCalc is made.
Note that the suspension refers to automatic calculations only. This means that calculations that would normally be performed on a timer when CalcFrequency is set to Asynchronous or on a change notification when the value of a control is dirtied when CalcFrequency is set to Synchronous will not be performed. Explicitly calling the ReCalc method or the Infragistics.Win.CalcEngine.IUltraCalcManager.EnsureCalculated(Infragistics.Win.CalcEngine.IUltraCalcReference,System.Boolean) method will still force a calculation.
Note also that each time SuspendCalc is called, a counter is incremented. So the same number of ResumeCalc calls must be made before calculations will resume.
Imports Infragistics.CalcEngine Imports Infragistics.Win.UltraWinCalcManager Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Suspend calculation while we are adding new items into the calc network Me.UltraCalcManager1.SuspendCalc() Dim calcSettings As CalcSettings 'Set CalcSettings properties on TextBox1 calcSettings = Me.UltraCalcManager1.GetCalcSettings(Me.textBox1) calcSettings.PropertyName = "Text" calcSettings.Alias = "Height" calcSettings.ErrorValue = 1 'Set CalcSettings properties on TextBox2 calcSettings = Me.UltraCalcManager1.GetCalcSettings(Me.textBox2) calcSettings.PropertyName = "Text" calcSettings.Alias = "Width" calcSettings.ErrorValue = 1 'Create a NamedReference to calulate the area. Dim namedReference As NamedReference namedReference = Me.UltraCalcManager1.NamedReferences.Add("Area", "[//Height] * [//Width]") namedReference.ErrorValue = "Error" 'Everything is added, so resume Me.UltraCalcManager1.ResumeCalc() End Sub Private Sub UltraCalcManager1_CalculationsCompleted(ByVal sender As Object, ByVal e As System.EventArgs) Handles UltraCalcManager1.CalculationsCompleted If (Me.UltraCalcManager1.NamedReferences.Exists("Area")) Then Me.textBox3.Text = Me.UltraCalcManager1.NamedReferences("Area").FormulaResult.Value.ToString() End If End Sub
using Infragistics.CalcEngine; using Infragistics.Win.UltraWinCalcManager; private void Form1_Load(object sender, System.EventArgs e) { //Suspend calculation while we are adding new items into the calc network this.ultraCalcManager1.SuspendCalc(); CalcSettings calcSettings = null; //Set CalcSettings properties on TextBox1 calcSettings = this.ultraCalcManager1.GetCalcSettings(this.textBox1); calcSettings.PropertyName = "Text"; calcSettings.Alias = "Height"; calcSettings.ErrorValue = 1; //Set CalcSettings properties on TextBox2 calcSettings = this.ultraCalcManager1.GetCalcSettings(this.textBox2); calcSettings.PropertyName = "Text"; calcSettings.Alias = "Width"; calcSettings.ErrorValue = 1; //Create a NamedReference to calulate the area. NamedReference namedReference = null; namedReference = this.ultraCalcManager1.NamedReferences.Add("Area", "[//Height] * [//Width]"); namedReference.ErrorValue = "Error"; //Everything is added, so resume this.ultraCalcManager1.ResumeCalc(); } private void ultraCalcManager1_CalculationsCompleted(object sender, System.EventArgs e) { if ( this.ultraCalcManager1.NamedReferences.Exists("Area") ) { this.textBox3.Text = this.ultraCalcManager1.NamedReferences["Area"].FormulaResult.Value.ToString(); } }
Target Platforms: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Server 2012, Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2