Board logo

标题: 在datagridview中点击单元格弹出窗体进行选择 返回给原窗体(1) [打印本页]

作者: look_w    时间: 2019-4-18 16:39     标题: 在datagridview中点击单元格弹出窗体进行选择 返回给原窗体(1)

涉及到的知识:

1.CellClick事件 (注意区别CellContentClick)

CellContentClick 是必须要点中单元格里的内容才触发

CellClick 是只要点中单元格就触发


2.给datagridview 赋值

主要是先给一个datagridview数据源datatable 然后相应修改datatable的值即可


3.弹出新窗体


4.窗体传值(在Form初始化时传值)


5.委托  其实也是用于传值  

6.checkbox的用法



代码如下:

Form1.cs中

cellClick事件

      private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                int CIndex = e.ColumnIndex;
                if (CIndex == 9)
                {

                   Form a= new Form3(e.RowIndex,e.ColumnIndex);
                   a.Show();
                  
                }
                else
                {
                    MessageBox.Show("请选择正确的单元格");
                }
            }
            catch
            {
                MessageBox.Show("请点击正确单元格以及检查你的内容是否正确");
            }


        }


委托事件

       public Form1()
            {
                InitializeComponent();
     
                Form3.setStatusDelegate_request = new setStatusDelegate_request((i) =>
                {
                    this.Invoke(new setStatusDelegate_request((a) =>
                    {
                        string[] returnstr = a.Split('|');
                        int row = int.Parse(returnstr[1].ToString());
                        int col = int.Parse(returnstr[2].ToString());
                        string request=returnstr[0].ToString();
                        string[] b = request.Split(',');
                        string a_id = "";
                        for (int ii = 0; ii < b.Length; ii++)
                        {
                            if (ii == b.Length - 1)
                            {
                                a_id += _ht_request[b[ii]].ToString();
                            }
                            else
                            {
                                a_id += _ht_request[b[ii]].ToString() + ",";
                            }
                        }
                        _dt_Data.Rows[row][col] = request;
                        _dt_Data.Rows[row][17] = a_id;
                    }), i);
                });  
     
            }




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0