CalendarGridはタッチデバイスにおけるマルチタッチ機能に対応しています。タッチキーボードによる入力や、タッチによるセルの選択、スピン、ドロップダウン、グリッドのスクロールなどの基本操作が可能です。
注意 マルチタッチ機能はWindows 8以降でサポートされます。 |
CalendarGridはピンチとストレッチによって内容をズームできます。
GcCalendarGrid.MinZoomFactorプロパティを使用すると、最小のズーム倍率を設定できます。ピンチで最小ズーム倍率より小さくズームした場合、画面はバウンドしてGcCalendarGrid.MinZoomFactorプロパティで設定したズーム倍率で表示します。
タッチ操作によるズームを禁止するにはGcCalendarGrid.AllowUserToTouchZoomプロパティをFalseに設定します。
CalendarGridは、グリッド上で指をスライドすることで画面をスクロールさせることができます。
CalendarGridは、タッチ操作でセルを選択した場合に選択したセルを囲む枠線とグリッパー(丸い選択ハンドル)を表示します。グリッパーを使用するとセルの選択範囲を変更することができます。
CalendarGridはタッチ操作で列幅や行の高さをリサイズすることができます。タッチ操作によってカレンダーのヘッダをタップすると、次のようにリサイズマークが表示されます。このマークをドラッグすることでユーザーはタッチ操作で列幅や行の高さを変更できます。
CalendarGridの列幅や行の高さのリサイズを禁止するには、GcCalendarGrid.ResizeModeプロパティにNoneを設定します。
GcCalendarGrid1.ResizeMode = GrapeCity.Win.CalendarGrid.CalendarResizeMode.None
gcCalendarGrid1.ResizeMode = GrapeCity.Win.CalendarGrid.CalendarResizeMode.None;
編集時のセルでタッチ操作によって入力文字を選択するためのグリッパーを表示することができます。
既定では、編集時のグリッパーを表示するように設定されています。編集時のグリッパーを非表示にするには、GcCalendarGrid.ShowGrippersInEditingStatusプロパティにFalseを設定します。
GcCalendarGrid1.ShowGrippersInEditingStatus = False
gcCalendarGrid1.ShowGrippersInEditingStatus = false;
注意 マウス操作時は、GcCalendarGrid.ShowGrippersInEditingStatusプロパティの設定値に関わらずグリッパーは常に非表示です。 |
一部のセル型では、タッチ操作で表示するドロップダウンリストを拡大して表示できます。ここでは、ドロップダウンリストの拡大表示について解説します。
以下のセル型では、タッチ操作によってドロップダウンリストを表示した場合、マウス操作時よりも大きいサイズのリストを表示します。ドロップダウンリストの大きさは それぞれのセルのTouchDropDownScaleプロパティで設定できます。
CalendarGridではタッチキーボードの表示/非表示の切り替えや、表示するキーボードの種類を指定できます。
GcCalendarGrid.ShowTouchKeyboardメソッドおよびGcCalendarGrid.HideTouchKeyboardメソッドでタッチキーボードの表示/非表示を切り替えることができます。
たとえば、GcCalendarGrid.CellBeginEditイベントとGcCalendarGrid.CellEndEditイベントでGcCalendarGrid.ShowTouchKeyboardメソッドとGcCalendarGrid.HideTouchKeyboardメソッドを使用すれば、セルの編集開始/終了にあわせて、タッチキーボードの表示/非表示を切り替えることができます。
Imports GrapeCity.Win.CalendarGrid Private Sub GcCalendarGrid1_CellBeginEdit(sender As Object, e As CalendarCellBeginEditEventArgs) Handles GcCalendarGrid1.CellBeginEdit GcCalendarGrid1.ShowTouchKeyboard() End Sub Private Sub GcCalendarGrid1_CellEndEdit(sender As Object, e As CalendarCellEndEditEventArgs) Handles GcCalendarGrid1.CellEndEdit GcCalendarGrid1.HideTouchKeyboard() End Sub
using GrapeCity.Win.CalendarGrid; private void Form1_Load(object sender, EventArgs e) { gcCalendarGrid1.CellBeginEdit += gcCalendarGrid1_CellBeginEdit; gcCalendarGrid1.CellEndEdit += gcCalendarGrid1_CellEndEdit; } private void gcCalendarGrid1_CellBeginEdit(object sender, CalendarCellBeginEditEventArgs e) { gcCalendarGrid1.ShowTouchKeyboard(); } private void gcCalendarGrid1_CellEndEdit(object sender, CalendarCellEndEditEventArgs e) { gcCalendarGrid1.HideTouchKeyboard(); }
CalendarCellStyle.InputScopeプロパティを使用すると、表示するタッチキーボードの種類を設定できます。
注意 InputScopeプロパティには制限事項や注意点があります。詳細は IME モード の「InputScope プロパティの使い方」を参照してください。 |
CalendarGridでは、タッチキーボードの表示で編集中のセルが隠れてしまう場合、編集中のセルをタッチキーボードで隠れない領域に自動でスクロールさせることができます。この機能はGcCalendarGrid.AutoScrollWhenKeyboardShowingプロパティにTrueを設定することで有効になります。
GcCalendarGrid1.AutoScrollWhenKeyboardShowing = True
gcCalendarGrid1.AutoScrollWhenKeyboardShowing = true;