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

winform DataGridViewComboBoxColumn下拉框选中事件
winfrom DataGridView 中有一列DataGridViewComboBoxColumn。我对这个写事件也不是很

熟悉。所以在网上找资料。基本上都是这样写的


 private void hpGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
        {
            //判断要处理的DataGridViewComboBoxColumn名称,若符合条件,编辑控件被强制转换为ComboBox以处理,添加SelectedIndexChanged事件
            if (this.hpGridView1.CurrentCell.OwningColumn.Name == "clmTest")
            {
                ((ComboBox)e.Control).SelectedIndexChanged += new EventHandler(ComboBox_SelectedIndexChanged);
            }

        }

        /// <summary>
        /// SelectedIndexChanged事件触发时需要进行的处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            MessageBox.Show(((ComboBox)sender).Text);
        }

这样是能获取到值。但有个问题,就是第一次点击能获取到值。我在点击就获取的空置。

还有一种情况就是第一次点击有值。但在点击下拉框不显示数据。就直接触发了事件。2次

或者三次。你们有遇到过吗。
winform ??ComboBoxColumn DataGridView?

------解决方案--------------------
http://www.cnblogs.com/nsky/p/3376894.html