winform界面上有很多个checkbox控件,只要是改变了其中一个的状态,勾选或者取消勾选,就触发按钮属性为可用,这么多的checkbox如何判断其中有的属性改变了状态呢?
还有一个问题当我点击datagridview其中的一行,当在点击另一行是谈出提示框,这个事件是在哪里面做的
希望大家能给点思路

解决方案 »

  1.   

    1为每个checkbox 都订阅 CheckedChanged事件。在事件在处理.
    checkBox1.CheckedChanged+=new EventHandler(checkBox1_CheckedChanged); 
      

  2.   

    foreach (Control con in this.Controls)
                {
                    if (con is CheckBox)
                    {
                        con.CheckedChanged+= OnChange;
                    }
                }
            }
            private void OnChange(object sender, EventArgs e)
            {
                if (((CheckBox)sender).Checked)
                {}
             }private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
            {
                DataGridView dgv = (DataGridView)sender;
                System.Drawing.Rectangle rec = dgv.RectangleToScreen(dgv.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, false));            Form1 frm = new Form1();
                frm.StartPosition = FormStartPosition.Manual;
                frm.Location = new System.Drawing.Point(rec.Left, rec.Bottom);
                frm.ShowDialog();
            }
      

  3.   

    给每个checkbox都添同一个onchanged事件
      

  4.   

    不用change事件  用click事件来处理 会好些