他コントロールとの接続
GcCalculator コントロールのValueプロパティの値を他のコントロールに渡すには、GcCalculator コントロールのOutputTextChangedイベントと、接続先のコントロールのDataBindings プロパティを使用します。以下に、その手順と具体例を紹介します。
次のサンプルコードは、GcCalculator コントロールの Value プロパティをテキストボックスコントロールの Text プロパティに接続する方法を示します。
手順
- GcCalculator コントロールの Binding オブジェクトを生成します。
- コントロール間のデータ型が異なる場合は、ConvertEventHandler デリゲートを使ってデータ変換を行います。
- Binding オブジェクトを接続先のコントロールの ControlBindingsCollection に追加します。
- Binding オブジェクトを管理する BindingManagerBase を生成します。
- 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"の数字および"+"、"-"、"*"、"/"、"="のみになります。
クリップボードからGcCalculatorコントロールへ値をペーストする場合は、数値だけでなく、”1+2=”といった計算式を貼り付けペーストすると、計算した結果を表示することができます。
なお、コードで設定する場合には、計算式をペーストすることはできません。また、ペースト可能な文字は"0〜9"の数字および"+"、"-"、"*"、"/"、"="のみになります。