すべてのコントロールに拡大鏡を適用する方法
Windowsフォーム上のコントロールのEnableMagnifierプロパティにTrueを設定する方法は、ホールドにより拡大鏡を表示したいコントロールが少ないときには良いのですが、多数のコントロールを対象にしたいときには不便です。
そこでお勧めしたいのが、コントロールのEnableMagnifierプロパティを設定するのではなく、WindowsフォームのEnableMagnifierプロパティをTrueにする方法です。
サンプルでは左下のチェックボックスをチェックすると、フォームのEnableMagnifierプロパティにTrueを設定していますので、チェックの有無によってWindowsフォームに対して指をホールドしたときの違いを確認してみましょう。
チェックをつけなかったときは、個別設定している入力欄以外をホールドしても拡大鏡は表示されません。チェック後であれば、Windowsフォームのどこをホールドしても拡大鏡が表示されるようになります。
まずはWindowsフォームのプロパティで設定をし、試験運用します。そこで個別に設定した方が良いところを見極め、コントロール個別にプロパティ設定するように調整するという手順を踏むと、効率が良さそうです。
拡大鏡を適用するときの考慮点
GcMagnifierコンポーネントの有効範囲は、1フォームごとになります。よって、拡大鏡が必要なWindowsフォームを事前に選定しておけば、そこに対してGcMagnifierコンポーネントを貼り付けてプロパティを変更するという作業を、機械的に行うことができるでしょう。
また、あくまでもWindowsフォームに対してになるので、ダイアログボックスには適用されない点も注意してください。色の選定ダイアログを呼び出してホールドしたときの動きは、次のようになります。
このように、ダイアログでは拡大鏡が出ないということを把握しておく必要があります。業務アプリで使いそうなダイアログとしては、OpenFileDialogやSaveFileDialogが考えられますし、そのダイアログでファイル名の欄があるので、拡大鏡が使えないと不便な可能性があります。その点は注意が必要でしょう。
タッチしやすい大きさにする
(※サンプルファイルの「CZ1308Zoom」に対応)
GcMagnifierコンポーネントでは、マウス&キーボード前提の細々した画面レイアウトに対して、指先に拡大鏡を表示してタッチしやすいインターフェースへの変更を簡単に行えました。
入力欄にはこの方法でもいいのですが、チェックボックスやラジオボタン、コマンドボタンをタップしようと思うと、タップするターゲットが全体的に小さくて押しづらいときもあります。そのようなときに便利なのが、MultiTouch for WindowsのZoom系のコンポーネント(GcZoom、GcApplicationZoom)です。
GcZoomコンポーネントはWindowsフォーム単位、GcApplicationZoomコンポーネントはWindowsフォームアプリケーション全体にスマートフォンアプリなどにある2本指でタップしてから指の間を広げると画面が拡大されるズーム機能を提供します。
GcApplicationZoomの追加
GcApplicationZoomコンポーネントを使うには、ツールボックスにあるアイコンをWindowsフォームにドラッグ&ドロップして配置します。GcApplicationZoomコンポーネントも表示スタイルを持たないので、コンポーネントトレイにアイコンがおかれます。