セル型のドロップダウンを無効にするには?
対象製品
El Tabelle MultiRow 4.0J
詳細
El Tabelle MultiRow 4.0J では、セル型に応じて次のドロップダウンウィンドウがサポートされています。
・ドロップダウンカレンダー(日付型)
・ドロップダウン電卓(数値型)
・ドロップダウン エディタ(文字列型)
・ドロップダウンリスト(コンボボックス型、拡張コンボボックス型)
これらのドロップダウンウィンドウは、ドロップダウンボタンが表示されていない場合でも次のキーによって操作することができます。
・Alt + Down キーによる表示・非表示
・Alt + Up キーによる表示・非表示
・F4 キーによる表示・非表示
この動作は、Windows のコンボボックスおよび InputMan コントロールの仕様に基づくものです。
セル型のドロップダウンを無効にするには、次のように MultiRowSheet.CellNotify イベントを使用します。
[Visual Basic]
[C#]
※ DropOpenEventArgs クラスはファイルバージョン v4.0.2006.0428 以降のアセンブリで使用できます(詳細)。
また、ショートカットキーを無効にすることでも対応できます。
[Visual Basic]
[C#]
イベントでキー入力を無効にする方法も有効です。
[Visual Basic]
[C#]
・ドロップダウンカレンダー(日付型)
・ドロップダウン電卓(数値型)
・ドロップダウン エディタ(文字列型)
・ドロップダウンリスト(コンボボックス型、拡張コンボボックス型)
これらのドロップダウンウィンドウは、ドロップダウンボタンが表示されていない場合でも次のキーによって操作することができます。
・Alt + Down キーによる表示・非表示
・Alt + Up キーによる表示・非表示
・F4 キーによる表示・非表示
この動作は、Windows のコンボボックスおよび InputMan コントロールの仕様に基づくものです。
セル型のドロップダウンを無効にするには、次のように MultiRowSheet.CellNotify イベントを使用します。
[Visual Basic]
Private Sub MultiRowSheet1_CellNotify(ByVal sender As System.Object, ByVal e As GrapeCity.Win.ElTabelle.MCellNotifyEventArgs) Handles MultiRowSheet1.CellNotify
If e.Name = GrapeCity.Win.ElTabelle.CellNotifyEvents.DropOpen Then
Dim objEvent As GrapeCity.Win.ElTabelle.Editors.DropOpenEventArgs = _
e.CellEvent
objEvent.Cancel = True
End If
End Sub
If e.Name = GrapeCity.Win.ElTabelle.CellNotifyEvents.DropOpen Then
Dim objEvent As GrapeCity.Win.ElTabelle.Editors.DropOpenEventArgs = _
e.CellEvent
objEvent.Cancel = True
End If
End Sub
[C#]
private void multiRowSheet1_CellNotify(object sender, GrapeCity.Win.ElTabelle.MCellNotifyEventArgs e)
{
if (e.Name == GrapeCity.Win.ElTabelle.CellNotifyEvents.DropOpen)
{
((GrapeCity.Win.ElTabelle.Editors.DropOpenEventArgs)e.CellEvent).Cancel = true;
}
}
{
if (e.Name == GrapeCity.Win.ElTabelle.CellNotifyEvents.DropOpen)
{
((GrapeCity.Win.ElTabelle.Editors.DropOpenEventArgs)e.CellEvent).Cancel = true;
}
}
※ DropOpenEventArgs クラスはファイルバージョン v4.0.2006.0428 以降のアセンブリで使用できます(詳細)。
また、ショートカットキーを無効にすることでも対応できます。
[Visual Basic]
Dim objKeyActions(0) As GrapeCity.Win.ElTabelle.MKeyAction
objKeyActions(0) = -1
MultiRowSheet1.Shortcuts.Add(Keys.F4, objKeyActions)
MultiRowSheet1.Shortcuts.Add(Keys.Alt + Keys.Down, objKeyActions)
MultiRowSheet1.Shortcuts.Add(Keys.Alt + Keys.Up, objKeyActions)
objKeyActions(0) = -1
MultiRowSheet1.Shortcuts.Add(Keys.F4, objKeyActions)
MultiRowSheet1.Shortcuts.Add(Keys.Alt + Keys.Down, objKeyActions)
MultiRowSheet1.Shortcuts.Add(Keys.Alt + Keys.Up, objKeyActions)
[C#]
GrapeCity.Win.ElTabelle.MKeyAction[] keyActions = new GrapeCity.Win.ElTabelle.MKeyAction[1];
keyActions[0] = (GrapeCity.Win.ElTabelle.MKeyAction)(-1);
multiRowSheet1.Shortcuts.Add(new GrapeCity.Win.ElTabelle.MShortcut(Keys.F4, keyActions));
multiRowSheet1.Shortcuts.Add(new GrapeCity.Win.ElTabelle.MShortcut(Keys.Alt | Keys.Down, keyActions));
multiRowSheet1.Shortcuts.Add(new GrapeCity.Win.ElTabelle.MShortcut(Keys.Alt | Keys.Up, keyActions));
keyActions[0] = (GrapeCity.Win.ElTabelle.MKeyAction)(-1);
multiRowSheet1.Shortcuts.Add(new GrapeCity.Win.ElTabelle.MShortcut(Keys.F4, keyActions));
multiRowSheet1.Shortcuts.Add(new GrapeCity.Win.ElTabelle.MShortcut(Keys.Alt | Keys.Down, keyActions));
multiRowSheet1.Shortcuts.Add(new GrapeCity.Win.ElTabelle.MShortcut(Keys.Alt | Keys.Up, keyActions));
イベントでキー入力を無効にする方法も有効です。
[Visual Basic]
Private Sub MultiRowSheet1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MultiRowSheet1.KeyDown
If e.KeyCode = Keys.F4 Then
e.Handled = True
End If
End Sub
If e.KeyCode = Keys.F4 Then
e.Handled = True
End If
End Sub
[C#]
private void multiRowSheet1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F4)
e.Handled = true;
}
{
if (e.KeyCode == Keys.F4)
e.Handled = true;
}
キーワード
HowTo
この文書は、以前は次のFAQ IDで公開されていました : 9093