PowerTools MultiRow for Windows Forms 8.0J > MultiRowの使い方 > マルチタッチ機能 > タッチキーボード |
MultiRowではタッチキーボードの表示/非表示の切り替えや、表示するキーボードの種類を指定できます。ここでは、タッチキーボードの制御方法について解説します。
ShowTouchKeyboardメソッドおよびHideTouchKeyboardメソッドでタッチキーボードの表示/非表示を切り替えることができます。
例えば、CellBeginEditイベントとCellEndEditイベントでShowTouchKeyboardメソッドとHideTouchKeyboardメソッドを使用すれば、セルの編集開始/終了にあわせて、タッチキーボードの表示/非表示を切り替えることができます。
Private Sub GcMultiRow1_CellBeginEdit(sender As Object, e As GrapeCity.Win.MultiRow.CellBeginEditEventArgs) Handles GcMultiRow1.CellBeginEdit ' セルの編集開始時にタッチキーボードを表示します。 GcMultiRow1.ShowTouchKeyboard() End Sub Private Sub GcMultiRow1_CellEndEdit(sender As Object, e As GrapeCity.Win.MultiRow.CellEndEditEventArgs) Handles GcMultiRow1.CellEndEdit ' セルの編集終了時にタッチキーボードを非表示にします。 GcMultiRow1.HideTouchKeyboard() End Sub
private void gcMultiRow1_CellBeginEdit(object sender, GrapeCity.Win.MultiRow.CellBeginEditEventArgs e) { // セルの編集開始時にタッチキーボードを表示します。 gcMultiRow1.ShowTouchKeyboard(); } private void gcMultiRow1_CellEndEdit(object sender, GrapeCity.Win.MultiRow.CellEndEditEventArgs e) { // セルの編集終了時にタッチキーボードを非表示にします。 gcMultiRow1.HideTouchKeyboard(); }
InputManCellでは、DropDownクラスのAutoHideTouchKeyboardプロパティを使用すると、ドロップダウン表示時にタッチキーボードを自動的に非表示にすることができます。
AutoHideTouchKeyboardの値 | 説明 |
---|---|
AutoHide | ドロップダウンオブジェクトが表示されたとき、タッチキーボードを非表示にします。 |
HideAndReshow | ドロップダウンオブジェクトが表示されたとき、タッチキーボードを非表示にします。その後、ドロップダウンオブジェクトが閉じたとき、タッチキーボードを再表示します。 |
None | タッチキーボードを閉じません。ドロップダウンオブジェクトとタッチキーボード両方を表示します。 |
次のサンプルコードは、GcNumberCellに対し、ドロップダウンカレンダーの表示・非表示に伴い、タッチキーボードを非表示にし、再度表示します。
Imports GrapeCity.Win.MultiRow Imports InputManCell = GrapeCity.Win.MultiRow.InputMan Dim GcDateTimeCell1 As New InputManCell.GcDateTimeCell() GcDateTimeCell1.DropDown.AutoHideTouchKeyboard = GrapeCity.Win.Editors.AutoHideTouchKeyboard.HideAndReshow GcMultiRow1.Template = Template.CreateGridTemplate(New Cell() {GcDateTimeCell1}) GcMultiRow1.RowCount = 10
using GrapeCity.Win.MultiRow; using InputManCell = GrapeCity.Win.MultiRow.InputMan; InputManCell.GcDateTimeCell gcDateTimeCell1 = new InputManCell.GcDateTimeCell(); gcDateTimeCell1.DropDown.AutoHideTouchKeyboard = GrapeCity.Win.Editors.AutoHideTouchKeyboard.HideAndReshow; gcMultiRow1.Template = Template.CreateGridTemplate(new Cell[] { gcDateTimeCell1 }); gcMultiRow1.RowCount = 10;
Imports GrapeCity.Win.MultiRow Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim TextBoxCell1 = New TextBoxCell() TextBoxCell1.Style.InputScope = InputScopeNameValue.Hiragana Dim TextBoxCell2 = New TextBoxCell() TextBoxCell2.Style.InputScope = InputScopeNameValue.AlphanumericHalfWidth Dim NumericUpDownCell1 = New NumericUpDownCell() NumericUpDownCell1.Style.InputScope = InputScopeNameValue.Number GcMultiRow1.Template = Template.CreateGridTemplate(New Cell() {TextBoxCell1, TextBoxCell2, NumericUpDownCell1}) GcMultiRow1.RowCount = 10 End Sub Private Sub GcMultiRow1_CellBeginEdit(sender As Object, e As GrapeCity.Win.MultiRow.CellBeginEditEventArgs) Handles GcMultiRow1.CellBeginEdit ' セルの編集開始時にタッチキーボードを表示します。 GcMultiRow1.ShowTouchKeyboard() End Sub Private Sub GcMultiRow1_CellEndEdit(sender As Object, e As GrapeCity.Win.MultiRow.CellEndEditEventArgs) Handles GcMultiRow1.CellEndEdit ' セルの編集終了時にタッチキーボードを非表示にします。 GcMultiRow1.HideTouchKeyboard() End Sub
using GrapeCity.Win.MultiRow; private void Form1_Load(object sender, EventArgs e) { TextBoxCell textBoxCell1 = new TextBoxCell(); textBoxCell1.Style.InputScope = InputScopeNameValue.Hiragana; TextBoxCell textBoxCell2 = new TextBoxCell(); textBoxCell2.Style.InputScope = InputScopeNameValue.AlphanumericHalfWidth; NumericUpDownCell numericUpDownCell1 = new NumericUpDownCell(); numericUpDownCell1.Style.InputScope = InputScopeNameValue.Number; gcMultiRow1.Template = Template.CreateGridTemplate(new Cell[] { textBoxCell1, textBoxCell2, numericUpDownCell1 }); gcMultiRow1.RowCount = 10; } private void gcMultiRow1_CellBeginEdit(object sender, GrapeCity.Win.MultiRow.CellBeginEditEventArgs e) { // セルの編集開始時にタッチキーボードを表示します。 gcMultiRow1.ShowTouchKeyboard(); } private void gcMultiRow1_CellEndEdit(object sender, GrapeCity.Win.MultiRow.CellEndEditEventArgs e) { // セルの編集終了時にタッチキーボードを非表示にします。 gcMultiRow1.HideTouchKeyboard(); }
|
GcMultiRow1.AutoScrollWhenKeyboardShowing = True
gcMultiRow1.AutoScrollWhenKeyboardShowing = true;