数値型セルと日付型セルの上下キーを無効にするには?
対象製品
El Tabelle for .NET
詳細
数値型セルと日付型セルでは、編集時に上下キーに値の増減機能が割り当てられます。通常の上下キーの操作は [Ctrl] + 上下キーで行います。
これらのセル型で上下キーを無効にするには、Form の KeyPreview プロパティを true に設定し、次のコードを実行します。
[Visual Basic]
[C#]
これらのセル型で上下キーを無効にするには、Form の KeyPreview プロパティを true に設定し、次のコードを実行します。
[Visual Basic]
Private Sub Form1_KeyDown(ByVal sender As Object, _
ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
'Sheet1がアクティブの場合
If Me.ActiveControl Is Sheet1 Then
'Sheet1が編集中の場合
If Sheet1.EditState = True Then
'編集中のセルが数値型または日付型の場合
If Sheet1.ActiveCell.Editor.GetType Is _
GetType(GrapeCity.Win.Editors.NumberEditor) Or _
Sheet1.ActiveCell.Editor.GetType Is _
GetType(GrapeCity.Win.Editors.DateEditor) _
Then
'上下キーが押された場合
If e.KeyCode = Keys.Down _
Or e.KeyCode = e.KeyCode.Up Then
e.Handled = True
End If
End If
End If
End If
End Sub
ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
'Sheet1がアクティブの場合
If Me.ActiveControl Is Sheet1 Then
'Sheet1が編集中の場合
If Sheet1.EditState = True Then
'編集中のセルが数値型または日付型の場合
If Sheet1.ActiveCell.Editor.GetType Is _
GetType(GrapeCity.Win.Editors.NumberEditor) Or _
Sheet1.ActiveCell.Editor.GetType Is _
GetType(GrapeCity.Win.Editors.DateEditor) _
Then
'上下キーが押された場合
If e.KeyCode = Keys.Down _
Or e.KeyCode = e.KeyCode.Up Then
e.Handled = True
End If
End If
End If
End If
End Sub
[C#]
private void Form1_KeyDown(object sender,
System.Windows.Forms.KeyEventArgs e)
{
//Sheet1がアクティブの場合
if (this.ActiveControl == sheet1)
{
//Sheet1が編集中の場合
if (sheet1.EditState == true)
{
//編集中のセルが数値型または日付型の場合
if (sheet1.ActiveCell.Editor.GetType() == typeof(GrapeCity.Win.Editors.NumberEditor) |
sheet1.ActiveCell.Editor.GetType() == typeof(GrapeCity.Win.Editors.DateEditor))
{
//上下キーが押された場合
if (e.KeyCode == Keys.Down | e.KeyCode == Keys.Up)
{
e.Handled = true;
}
}
}
}
}
System.Windows.Forms.KeyEventArgs e)
{
//Sheet1がアクティブの場合
if (this.ActiveControl == sheet1)
{
//Sheet1が編集中の場合
if (sheet1.EditState == true)
{
//編集中のセルが数値型または日付型の場合
if (sheet1.ActiveCell.Editor.GetType() == typeof(GrapeCity.Win.Editors.NumberEditor) |
sheet1.ActiveCell.Editor.GetType() == typeof(GrapeCity.Win.Editors.DateEditor))
{
//上下キーが押された場合
if (e.KeyCode == Keys.Down | e.KeyCode == Keys.Up)
{
e.Handled = true;
}
}
}
}
}
キーワード
HowTo
この文書は、以前は次のFAQ IDで公開されていました : 3645