F4 キーによるドロップダウンウィンドウの表示を抑制するには?
対象製品
MultiRow for Windows Forms 5.0J
詳細
ComboBoxCell または DateTimePickerCell を編集中に F4 キーを入力すると、ドロップダウンウィンドウが表示されます。これは、Windows のショートカットキーに基づく標準コントロールの動作です。このキーを無効にするには、次のように KeyDown イベントを実装します。
[Visual Basic]
[C#]
[Visual Basic]
Imports GrapeCity.Win.MultiRow
Private Sub GcMultiRow1_EditingControlShowing(ByVal sender As System.Object, ByVal e As EditingControlShowingEventArgs) Handles GcMultiRow1.EditingControlShowing
If TypeOf e.Control Is ComboBoxEditingControl OrElse TypeOf e.Control Is DateTimePickerEditingControl Then
RemoveHandler e.Control.KeyDown, AddressOf Me.Control_KeyDown
AddHandler e.Control.KeyDown, AddressOf Me.Control_KeyDown
End If
End Sub
Private Sub Control_KeyDown(ByVal sender As System.Object, ByVal e As KeyEventArgs)
If e.KeyCode = Keys.F4 Then
e.Handled = True
End If
End Sub
Private Sub GcMultiRow1_EditingControlShowing(ByVal sender As System.Object, ByVal e As EditingControlShowingEventArgs) Handles GcMultiRow1.EditingControlShowing
If TypeOf e.Control Is ComboBoxEditingControl OrElse TypeOf e.Control Is DateTimePickerEditingControl Then
RemoveHandler e.Control.KeyDown, AddressOf Me.Control_KeyDown
AddHandler e.Control.KeyDown, AddressOf Me.Control_KeyDown
End If
End Sub
Private Sub Control_KeyDown(ByVal sender As System.Object, ByVal e As KeyEventArgs)
If e.KeyCode = Keys.F4 Then
e.Handled = True
End If
End Sub
[C#]
using GrapeCity.Win.MultiRow;
private void gcMultiRow1_EditingControlShowing(object sender, EditingControlShowingEventArgs e)
{
if (e.Control is ComboBoxEditingControl || e.Control is DateTimePickerEditingControl)
{
e.Control.KeyDown -= new KeyEventHandler(Control_KeyDown);
e.Control.KeyDown += new KeyEventHandler(Control_KeyDown);
}
}
private void Control_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F4)
e.Handled = true;
}
private void gcMultiRow1_EditingControlShowing(object sender, EditingControlShowingEventArgs e)
{
if (e.Control is ComboBoxEditingControl || e.Control is DateTimePickerEditingControl)
{
e.Control.KeyDown -= new KeyEventHandler(Control_KeyDown);
e.Control.KeyDown += new KeyEventHandler(Control_KeyDown);
}
}
private void Control_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F4)
e.Handled = true;
}
この文書は、以前は次のFAQ IDで公開されていました : 11360