日期:2014-05-17  浏览次数:21161 次

winform datagridview中combobox列改变选项时,用什么触发事件?
实现效果:
改变combobox的选项同时,把value值传到后面的文本列里
重点:
同时变化

很多事件可以实现传值的功能,但无法达到同时的效果,总要在点击combobox选项之后,再点击其他列才会响应,求给位大侠指导,谢谢
------最佳解决方案--------------------

private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
        {
            //列的索引根据自己的网格来
            if (dataGridView1.CurrentCell.RowIndex != -1 && dataGridView1.CurrentCell.ColumnIndex == 0)
            {
                //还原控件并绑定事件
                ((ComboBox)e.Control).SelectedIndexChanged += new EventHandler(Form1_SelectedIndexChanged);
            }
        }
        //自定义事件
        private void Form1_SelectedIndexChanged(object sender, EventArgs e)
        {
            MessageBox.Show(((ComboBox)sender).SelectedIndex.ToString());
        }

------其他解决方案--------------------
你想的是 点combobox时 出现很多选项 然后 移动到那个选项就把那个值赋值到文本框? 而不是点击之后再赋值?
------其他解决方案--------------------
引用:
你想的是 点combobox时 出现很多选项 然后 移动到那个选项就把那个值赋值到文本框? 而不是点击之后再赋值?

点击,点击之后文本列里的值立刻更新
我说的不同时是指点击之后,combobox中显示的值变了,文本列显示的值不变,必须再把鼠标点击其他列一下,文本列的值才会更新
------其他解决方案--------------------

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            //这事件不可以吗? winform的combobox没有value值的吧 只有text属性和index 
            textbox1.Text = combobox1.Text;
            textbox1.Text = comboBox2.SelectedText;
        }

------其他解决方案--------------------
引用:
C# code?123456        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)        {            //这事件不可以吗? winform的combobox没有value值的吧 只有text属性和index             textbox1……

。。是datagridview中的combobox列,不是单独的combobox控件