datagridviewcomboBox如何在组合框中选择列表的项目 [英] datagridviewcomboBox how to selectitems of the list in combobox
本文介绍了datagridviewcomboBox如何在组合框中选择列表的项目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
private void comboBoxEx1_SelectedIndexChanged(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
if (comboBoxEx1.SelectedIndex==0)
{
frm2.Show();
}
}
如果comboBox是datagridview而不是Windows窗体,我该如何使此代码工作?
how can i make this code work if comboBox was of datagridview, not of windows form?
推荐答案
您的意思是如果selectedindex = 0表示要显示datagridview吗?如果是这样,那么您可以在条件内使用类似以下内容的内容:
Do you mean that you want to show a datagridview if selectedindex = 0? If that''s true, then you can use inside the condition something like:
datagridview1.Visible = true;
只需确保Visible属性的初始状态为false.
[根据评论更新]
因此,您在datagridview中有一个DataGridViewComboBoxColumn,并且想要捕获所选索引是否发生更改.如果是这样,请尝试以下操作.连线datagridview事件:
- EditingControlShowing
- CellEndEdit
- EditingControlShowing
- CellEndEdit
Just make sure that the initial state of the Visible property is false.
[Update based on comment]
So you have a DataGridViewComboBoxColumn in the datagridview and you want to catch if the selected index is changed. If that''s true, try the following. Wire the datagridview events:
// which combobox is wired with a temporary event handler
private ComboBox comboWithEventHandler;
// wire the event handler if edit is started on a comboboxcolumn
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) {
if (e.Control is ComboBox) {
comboWithEventHandler = ((ComboBox)e.Control);
comboWithEventHandler.SelectedIndexChanged += new EventHandler(temporary_SelectedIndexChanged);
}
}
// fired when the combobox selected index changes
void temporary_SelectedIndexChanged(object sender, EventArgs e) {
MessageBox.Show("Selected index is " + ((ComboBox)sender).SelectedIndex.ToString());
}
// when user moves to another cell detach the event handler
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e) {
if (comboWithEventHandler != null) {
comboWithEventHandler.SelectedIndexChanged -= new EventHandler(temporary_SelectedIndexChanged);
comboWithEventHandler = null;
}
}
无效temporary_SelectedIndexChanged(对象发送方,EventArgs e)
{
如果(comboWithEventHandler.SelectedIndex == 0)
{
//MessageBox.Show("Selected index is" +((ComboBox)sender).SelectedIndex.ToString());
Form2 frm2 =新的Form2();
frm2.Show();
}
}
现在正在工作
thnx非常mika wendelius
void temporary_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboWithEventHandler.SelectedIndex==0)
{
// MessageBox.Show("Selected index is " + ((ComboBox)sender).SelectedIndex.ToString());
Form2 frm2 = new Form2();
frm2.Show();
}
}
now is working
thnx very much mika wendelius
这篇关于datagridviewcomboBox如何在组合框中选择列表的项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文