PowerTools PlusPak for Windows Forms 8.0J
他コントロールとの値の受け渡し

GcCalculator コントロールを他のコントロールとの値の受け渡しの方法について、以下に解説します。

他コントロールとの接続
GcCalculator コントロールのValueプロパティの値を他のコントロールに渡すには、GcCalculator コントロールのOutputTextChangedイベントと、接続先のコントロールのWeb サイトDataBindings プロパティを使用します。以下に、その手順と具体例を紹介します。

手順

  1. GcCalculator コントロールの Binding オブジェクトを生成します。
  2. コントロール間のデータ型が異なる場合は、ConvertEventHandler デリゲートを使ってデータ変換を行います。
  3. Binding オブジェクトを接続先のコントロールの ControlBindingsCollection に追加します。
  4. Binding オブジェクトを管理する Web サイトBindingManagerBase を生成します。
  5. GcCalculator コントロールの OutputTextChanged イベント内で、BindingManagerBaseのResumeBinding メソッドを実行して、GcCalculator コントロールの値が変更されるたびにデータ連結を再開します。

次のサンプルコードは、GcCalculator コントロールの Value プロパティをテキストボックスコントロールの Text プロパティに接続する方法を示します。

Friend bmValue As BindingManagerBase

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    ' データを接続するためにBindingオブジェクトを生成します。
    Dim b As Binding = New Binding("Text", GcCalculator1, "Value")
    ' ControlBindingsCollectionに追加します。
    TextBox1.DataBindings.Add(b)
    ' BindingManagerBaseを生成します。
    bmValue = Me.BindingContext(GcCalculator1)
End Sub

Private Sub GcCalculator1_OutputTextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GcCalculator1.OutputTextChanged
    Try
        ' GcCalculator コントロールをテキストボックスに接続します。
        bmValue.ResumeBinding()
    Catch aException As System.Exception
        ' エラー発生時にはメッセージを表示します。
        TextBox1.Text = aException.Message
    End Try
End Sub
private BindingManagerBase bmValue;

private void Form1_Load(object sender, System.EventArgs e)
{
    // データを接続するためにBindingオブジェクトを生成します。
    Binding b = new Binding("Text", gcCalculator1, "Value");
    // ControlBindingsCollectionに追加します。
    textBox1.DataBindings.Add(b);
    // BindingManagerBaseを生成します。
    bmValue = this.BindingContext[gcCalculator1];
}

private void gcCalculator1_OutputTextChanged(object sender, System.EventArgs e)
{
    try
    {
        // GcCalculator コントロールをテキストボックスに接続します。
        bmValue.ResumeBinding();
    }
    catch (System.Exception aException)
    {
        // エラー発生時にはメッセージを表示します。
        textBox1.Text = aException.Message;
    }
}
クリップボードの利用をサポート
GcCalculator コントロールはクリップボードを使用したコピー&ペーストの操作に対応しています。
クリップボードからGcCalculatorコントロールへ値をペーストする場合は、数値だけでなく、”1+2=”といった計算式を貼り付けペーストすると、計算した結果を表示することができます。
なお、コードで設定する場合には、計算式をペーストすることはできません。また、ペースト可能な文字は"0〜9"の数字および"+"、"-"、"*"、"/"、"="のみになります。
参照