拡大鏡の動作に関連したイベントについて解説します。
C1Magnify.MagnifierShowingイベントを使用すると、拡大鏡が表示される直前に拡大鏡の設定を変更できます。このイベントにより、対象のコントロールに応じて異なる外観の拡大鏡を表示することも可能です。また、このイベントでイベントパラメータのe.CancelプロパティがTrueのとき拡大鏡の表示をキャンセルできます。
次のコードは、TextBoxコントロールに対して四角形の拡大鏡を表示し、NumericUpDownコントロールに対しては拡大鏡を表示しません。それ以外のコントロールに対して円形の拡大鏡を表示します。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
Imports C1.Win.C1TouchToolKit Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load C1Magnify1.SetEnableMagnifier(TextBox1, True) C1Magnify1.SetEnableMagnifier(NumericUpDown1, True) End Sub Private Sub C1Magnify1_MagnifierShowing(sender As System.Object, e As C1.Win.C1TouchToolKit.MagnifierShowingEventArgs) Handles C1Magnify1.MagnifierShowing If e.TargetControl Is TextBox1 Then Dim magnifier As C1Magnify = DirectCast(sender, C1Magnify) magnifier.Shape = MagnifierShape.Rectangle magnifier.Size = New Size(200, 30) Else If e.TargetControl Is NumericUpDown1 Then e.Cancel = True Else Dim magnifier As C1Magnify = DirectCast(sender, C1Magnify) magnifier.Shape = MagnifierShape.Circle magnifier.Size = New Size(100, 100) End If End Sub |
C# コードの書き方
C# |
コードのコピー
|
---|---|
using C1.Win.C1TouchToolKit; private void Form1_Load(object sender, EventArgs e) { C1Magnify1.SetEnableMagnifier(textBox1, true); C1Magnify1.SetEnableMagnifier(numericUpDown1, true); } private void C1Magnify1_MagnifierShowing(object sender, MagnifierShowingEventArgs e) { if (e.TargetControl == textBox1) { C1Magnify magnifier = sender as C1Magnify; magnifier.Shape = MagnifierShape.Rectangle; magnifier.Size = new Size(200, 30); } else if (e.TargetControl == numericUpDown1) { e.Cancel = true; } else { C1Magnify magnifier = sender as C1Magnify; magnifier.Shape = MagnifierShape.Circle; magnifier.Size = new Size(100, 100); } } |
C1Magnify.MessageWhenCloseプロパティを使用すると、拡大鏡を閉じるときのコントロールに対するアクションを設定できます。既定値はMessageWhenClose.Noneです。
MessageWhenCloseの値 | 説明 |
---|---|
None | なし |
LeftClick | 左クリック |
RightClick | 右クリック |
C1Magnify.Closedイベントを使用すると、ユーザー定義のアクションを実装できます。次のコードは、拡大鏡が閉じたときにTextBoxコントロールのすべての文字列を選択します。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
Imports C1.Win.C1TouchToolKit Private Sub C1Magnify1_Closed(sender As System.Object, e As MagnifierEventArgs) Handles C1Magnify1.Closed If TypeOf e.TargetControl Is TextBox Then ' Send Ctrl+a SendKeys.Send("^a") End If End Sub |
C# コードの書き方
C# |
コードのコピー
|
---|---|
using C1.Win.C1TouchToolKit; private void C1Magnify1_Closed(object sender, MagnifierEventArgs e) { if (e.TargetControl is TextBox) { // Send Ctrl+a SendKeys.Send("^a"); } } |
C1Magnify.MessageWhenMoveプロパティを使用すると、拡大鏡を動かすときのコントロールに対するアクションを設定できます。既定値はMessageWhenMove.Moveです。
MessageWhenMoveの値 | 説明 |
---|---|
None | なし |
Move | 指の移動 |
LeftDown | マウスの左ボタン押下 |
拡大鏡が移動しているときには、Moveイベントが発生します。