コンボボックスの編集時に自動的にドロップダウンリストを表示するには?
対象製品
El Tabelle for .NET 3.0J
詳細
El Tabelle のコンボボックス型セル(ComboBoxEditor)にはドロップダウンリストの状態を判定する DropDown プロパティが備わっていますが、このプロパティは読み取り専用となっています。
開発者がコーディングによってドロップダウンリストの表示を制御するには、ドロップダウンリストに割り当てられているショートカットキーを利用します。El Tabelle では Windows の仕様に合わせて F4 キーまたは Alt+↓ のキー操作によってドロップダウンリストを表示できます。
たとえば、コンボボックスの編集時に自動的にドロップダウンリストを表示するには、次のようにコーディングします。
[Visual Basic]
[C#]
コンボボックスの入力時に特定の値によってドロップダウンリストを表示するには、次のようにコーディングします。
[Visual Basic]
[C#]
開発者がコーディングによってドロップダウンリストの表示を制御するには、ドロップダウンリストに割り当てられているショートカットキーを利用します。El Tabelle では Windows の仕様に合わせて F4 キーまたは Alt+↓ のキー操作によってドロップダウンリストを表示できます。
たとえば、コンボボックスの編集時に自動的にドロップダウンリストを表示するには、次のようにコーディングします。
[Visual Basic]
'シートにテスト用のコンボボックス型セルを設定する
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Dim objComboBoxEditor As New GrapeCity.Win.ElTabelle.Editors.ComboBoxEditor
objComboBoxEditor.Items.Add("Test1")
objComboBoxEditor.Items.Add("Test2")
objComboBoxEditor.Items.Add("Test3")
Sheet1.CellEditor = objComboBoxEditor
End Sub
'セルの編集時にドロップダウンリストを表示する
Private Sub Sheet1_EnterEdit(ByVal sender As Object, _
ByVal e As GrapeCity.Win.ElTabelle.EnterEditEventArgs) _
Handles Sheet1.EnterEdit
If Sheet1.ActiveCell.Editor.GetType.ToString = _
"GrapeCity.Win.ElTabelle.Editors.ComboBoxEditor" Then
SendKeys.Send("{F4}")
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Dim objComboBoxEditor As New GrapeCity.Win.ElTabelle.Editors.ComboBoxEditor
objComboBoxEditor.Items.Add("Test1")
objComboBoxEditor.Items.Add("Test2")
objComboBoxEditor.Items.Add("Test3")
Sheet1.CellEditor = objComboBoxEditor
End Sub
'セルの編集時にドロップダウンリストを表示する
Private Sub Sheet1_EnterEdit(ByVal sender As Object, _
ByVal e As GrapeCity.Win.ElTabelle.EnterEditEventArgs) _
Handles Sheet1.EnterEdit
If Sheet1.ActiveCell.Editor.GetType.ToString = _
"GrapeCity.Win.ElTabelle.Editors.ComboBoxEditor" Then
SendKeys.Send("{F4}")
End If
End Sub
[C#]
//シートにテスト用のコンボボックス型セルを設定する
private void Form1_Load(object sender, System.EventArgs e)
{
GrapeCity.Win.ElTabelle.Editors.ComboBoxEditor objComboBoxEditor = new GrapeCity.Win.ElTabelle.Editors.ComboBoxEditor();
objComboBoxEditor.Items.Add("Test1");
objComboBoxEditor.Items.Add("Test2");
objComboBoxEditor.Items.Add("Test3");
sheet1.CellEditor = objComboBoxEditor;
}
//セルの編集時にドロップダウンリストを表示する
private void sheet1_EnterEdit(object sender, GrapeCity.Win.ElTabelle.EnterEditEventArgs e)
{
if(sheet1.ActiveCell.Editor.GetType().ToString() ==
"GrapeCity.Win.ElTabelle.Editors.ComboBoxEditor")
{
SendKeys.Send("{F4}");
}
}
private void Form1_Load(object sender, System.EventArgs e)
{
GrapeCity.Win.ElTabelle.Editors.ComboBoxEditor objComboBoxEditor = new GrapeCity.Win.ElTabelle.Editors.ComboBoxEditor();
objComboBoxEditor.Items.Add("Test1");
objComboBoxEditor.Items.Add("Test2");
objComboBoxEditor.Items.Add("Test3");
sheet1.CellEditor = objComboBoxEditor;
}
//セルの編集時にドロップダウンリストを表示する
private void sheet1_EnterEdit(object sender, GrapeCity.Win.ElTabelle.EnterEditEventArgs e)
{
if(sheet1.ActiveCell.Editor.GetType().ToString() ==
"GrapeCity.Win.ElTabelle.Editors.ComboBoxEditor")
{
SendKeys.Send("{F4}");
}
}
コンボボックスの入力時に特定の値によってドロップダウンリストを表示するには、次のようにコーディングします。
[Visual Basic]
'シートにテスト用のコンボボックス型セルを設定する
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Dim objComboBoxEditor As New GrapeCity.Win.ElTabelle.Editors.ComboBoxEditor
objComboBoxEditor.Items.Add("Test1")
objComboBoxEditor.Items.Add("Test2")
objComboBoxEditor.Items.Add("Test3")
Sheet1.CellEditor = objComboBoxEditor
End Sub
'"Test"と入力された場合にドロップダウンリストを表示する
Private Sub Sheet1_CellNotify(ByVal sender As Object, _
ByVal e As GrapeCity.Win.ElTabelle.CellNotifyEventArgs) _
Handles Sheet1.CellNotify
Select Case e.Name
Case "TextChanged"
If Sheet1.ActiveCell.Editor.GetType.ToString = _
"GrapeCity.Win.Editors.ElTabelle.ComboBoxEditor" Then
If Sheet1.ActiveCell.Text = "Test" Then
SendKeys.Send("{F4}")
End If
End If
End Select
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Dim objComboBoxEditor As New GrapeCity.Win.ElTabelle.Editors.ComboBoxEditor
objComboBoxEditor.Items.Add("Test1")
objComboBoxEditor.Items.Add("Test2")
objComboBoxEditor.Items.Add("Test3")
Sheet1.CellEditor = objComboBoxEditor
End Sub
'"Test"と入力された場合にドロップダウンリストを表示する
Private Sub Sheet1_CellNotify(ByVal sender As Object, _
ByVal e As GrapeCity.Win.ElTabelle.CellNotifyEventArgs) _
Handles Sheet1.CellNotify
Select Case e.Name
Case "TextChanged"
If Sheet1.ActiveCell.Editor.GetType.ToString = _
"GrapeCity.Win.Editors.ElTabelle.ComboBoxEditor" Then
If Sheet1.ActiveCell.Text = "Test" Then
SendKeys.Send("{F4}")
End If
End If
End Select
End Sub
[C#]
//シートにテスト用のコンボボックス型セルを設定する
private void Form1_Load(object sender, System.EventArgs e)
{
GrapeCity.Win.ElTabelle.Editors.ComboBoxEditor objComboBoxEditor = new GrapeCity.Win.ElTabelle.Editors.ComboBoxEditor();
objComboBoxEditor.Items.Add("Test1");
objComboBoxEditor.Items.Add("Test2");
objComboBoxEditor.Items.Add("Test3");
sheet1.CellEditor = objComboBoxEditor;
}
//"Test"と入力された場合にドロップダウンリストを表示する
private void sheet1_CellNotify(object sender, GrapeCity.Win.ElTabelle.CellNotifyEventArgs e)
{
switch(e.Name)
{
case "TextChanged":
if(sheet1.ActiveCell.Editor.GetType().ToString() ==
"GrapeCity.Win.ElTabelle.Editors.ComboBoxEditor")
{
if(sheet1.ActiveCell.Text == "Test")
{
SendKeys.Send("{F4}");
}
}
break;
}
}
private void Form1_Load(object sender, System.EventArgs e)
{
GrapeCity.Win.ElTabelle.Editors.ComboBoxEditor objComboBoxEditor = new GrapeCity.Win.ElTabelle.Editors.ComboBoxEditor();
objComboBoxEditor.Items.Add("Test1");
objComboBoxEditor.Items.Add("Test2");
objComboBoxEditor.Items.Add("Test3");
sheet1.CellEditor = objComboBoxEditor;
}
//"Test"と入力された場合にドロップダウンリストを表示する
private void sheet1_CellNotify(object sender, GrapeCity.Win.ElTabelle.CellNotifyEventArgs e)
{
switch(e.Name)
{
case "TextChanged":
if(sheet1.ActiveCell.Editor.GetType().ToString() ==
"GrapeCity.Win.ElTabelle.Editors.ComboBoxEditor")
{
if(sheet1.ActiveCell.Text == "Test")
{
SendKeys.Send("{F4}");
}
}
break;
}
}
キーワード
HowTo
この文書は、以前は次のFAQ IDで公開されていました : 6988