拡大鏡の動作に関連したイベントについて解説します。
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イベントが発生します。