我们最近发布了一个桌面应用程序(用于库存管理),我们的一个Beta测试人员告诉我,该应用程序可以正常运行,但是存在关于datagridview可用性的问题;他说,如果我可以使datagridview内的combobox列掉落,以便他可以使用键盘从列表中选择一个项目,而不必使用鼠标来下拉列表。
这样做,我们的客户将能够以更舒适的方式将数据填充到datagridview中。
该应用程序是使用c#编程的Windows窗体应用程序
答案 0 :(得分:0)
我使用Focus ENTER事件和ComboBox的DroppedDown属性为您制作了一个示例。
用于简单组合
for (int i = 0; i < 7; i++)
{
comboBox1.Items.Add(String.Format("Test{0}", i));
}
private void comboBox1_Enter(object sender, EventArgs e)
{
comboBox1.DroppedDown = true;
}
这样,组合框在聚焦时会掉落。
对于DATAGRIDVIEWS
我为您提供了datagridview的可行解决方案:
private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex > 0) //this might change for you depending on your header
{
if (dataGridView1.SelectedCells[0].GetType().Name = "DataGridViewComboBoxCell")
{
dataGridView1.BeginEdit(true);
ComboBox comboBox = (ComboBox)dataGridView1.EditingControl;
comboBox.DroppedDown = true;
}
}
}
它使用datagridview的CELLENTER属性。不知道是否有更好的方法可以做到这一点,但效果很好。