バージョン

フォーミュラ ビルダーをランタイムに使用する

WinCalcManager™ FormulaBuilder はランタイムで表示できます。

FomulaBuilder を表示するには以下の手順を実行します。

  1. コーディングを始める前にコード ビハインドに Using/Imports のディレクティブを配置することにより、メンバーの完全修飾名を常に入力する必要がなくなります。

Visual Basic の場合:

Imports Infragistics.Win.UltraWinCalcManager
Imports Infragistics.Win.UltraWinCalcManager.FormulaBuilder
Imports Infragistics.Win.CalcEngine

C# の場合:

using Infragistics.Win.UltraWinCalcManager;
using Infragistics.Win.UltraWinCalcManager.FormulaBuilder;
using Infragistics.Win.CalcEngine;
  1. フォームに UltraCalcManager、3 つの UltraTextEditors および UltraButton を配置します。

  1. エディターを txtBox1"、"txtBox2" および "txtSumBox" に名前変更します。そして、各エディターの CalcSettings で PropertyName を Text に設定します。PropertyName を Text に設定しない場合、FormulaBuilderDialog にコントロールが表示されません。

  1. UltraButton の名前を btnShowFormulaBuilderDialog に変更します。ボタンの Text プロパティを Show Formula Builder Dialog に設定します。

  1. Infragistics.Win.UltraWinCalcManager.v21.2.FormulaBuilder への参照を追加します。

  1. コードビハインドで、IFormulaProvider を渡す ShowFormulaBuilderDialog メソッドを作成します。

  1. ShowFormulaBuilderDialog メソッドで、ShowFormulaBuilderDialog に渡された IForumlaProvider 変数を渡す、新しい FormulaBuilderDialog メソッドを宣言します。

  1. FormulaBuilderDialog の宣言後、ShowFormulaBuilderDialog メソッドでダイアログを表示する必要があります。

  1. ダイアログの表示後、ダイアログがキャンセルされるか、また ShowFormulaBuilderDialog メソッドから戻ってくるかを確認する必要があります。ダイアログがキャンセルされない場合は、FormulaBuildDialog の Formula プロパティを取得し、渡された IFormulaProvider の Formula プロパティに割り当てる必要があります。

次のコード例は、上記のコードを示しています。

Visual Basic の場合:

Private Sub UltraButton1_Click(ByVal sender As System.Object, _
  ByVal e As System.EventArgs) Handles UltraButton1.Click
	Me.ShowFormulaBuilderDialog(Me.UltraCalcManager1.GetCalcSettings(Me.UltraTextEditor1))
End Sub
Private Sub ShowFormulaBuilderDialog(ByVal formulaProvider As IFormulaProvider)
	' 新しい FormulaBuilderDialog を宣言します。
	Dim formulaBuilderDialog As New FormulaBuilderDialog(formulaProvider)
	' ダイアログを表示します。
	Dim dResult As DialogResult = formulaBuilderDialog.ShowDialog(Me)
	' ユーザーがキャンセルした場合は何もしません。
	If dResult = DialogResult.Cancel Then
		Return
	End If
	' 数式を適用します。
	formulaProvider.Formula = formulaBuilderDialog.Formula
	formulaBuilderDialog.ShowDialog()
End Sub

C# の場合:

private void ultraButton1_Click(object sender, System.EventArgs e)
{
	this.ShowFormulaBuilderDialog(this.ultraCalcManager1.GetCalcSettings(this.ultraTextEditor3));
}
private void ShowFormulaBuilderDialog(IFormulaProvider formulaProvider)
{
	// 新しい FormulaBuilderDialog を宣言します。
	FormulaBuilderDialog formulaBuilderDialog = new FormulaBuilderDialog(formulaProvider);
	// ダイアログを表示します。
	DialogResult dResult = formulaBuilderDialog.ShowDialog(this);
	// ユーザーがキャンセルした場合は何もしません。
	if (dResult == DialogResult.Cancel)
		return;
	// 数式を適用します。
	formulaProvider.Formula = formulaBuilderDialog.Formula;
	formulaBuilderDialog.ShowDialog();
}
  1. デザイナーでボタンをダブルクリックすると、ボタンのクリック イベントが作成されます。イベントで、作成した ShowFormulaBuilderDialog メソッドを呼び出し、UltraCalcManager の GetCalcSettings メソッドを使用して txtSumBox コントロールの CalcSettings を渡し、実行時にコントロールの CalcSettings を取得します。

  1. プロジェクトをビルドして実行します。最初の 2 つのエディターに数字を入力し、[Show Formula Builder Dialog] ボタンを押します。次のようになります。必要な計算を入れ、[OK] をクリックすると結果の値が 3 番目のエディターに表示されます。

images\WinCalcManager Using Formula Builder at Run Time 01.png