这个怎么做啊???关键是 CheckState.Indeterminate 这个状态!

解决方案 »

  1.   

    for (int i = 0; i < dataGridView.Rows.Length; i++)   
    {
        dataGridView.Rows[i].Selected = true; 
    }
      

  2.   

    ListView mainList=......
    ......mainList.CheckBoxes = true;foreach (ListViewItem lvi in mainList.Items)
       lvi.Checked = true;
      

  3.   


    看来分要送人了,回答的完全不着边!!全选和全不选,我以搞写!关键是 CheckState.Indeterminate 这个状态 和上边的 
    CheckBox 关联不上!
      

  4.   

    CheckBox checkBox1=......;
    ListView mainList=......;
    mainList.CheckBoxes = true;
    .......
    =============================
            public Form1()
            {
                InitializeComponent();
                mainList.ItemChecked+=new ItemCheckedEventHandler(mainList_ItemChecked);
            }
            void mainList_ItemChecked(object sender, ItemCheckedEventArgs e)
            {
                int num = 0;
                foreach (ListViewItem lvi in mainList.Items)
                    if (lvi.Checked)
                        num++;
                if (num == 0)//状态1
                    checkBox1.CheckState = CheckState.Unchecked;
                if(num>0&&num<mainList.Items.Count)//状态2
                    checkBox1.CheckState = CheckState.Indeterminate;
                if(num==mainList.Items.Count)//状态3
                    checkBox1.CheckState = CheckState.Checked;
            }
      

  5.   


    这是我写的 全选和全不选 ,你们写的我看不懂,我是自学的,连高中都没上,麻烦各位高手写简单点好吗?        private void AllcheckBox_CheckedChanged(object sender, EventArgs e)
            {
                if (AllcheckBox.Checked == false)
                {
                    int h = n.Length - 1;
                    for (int f = 0; f <= h; f++)
                    {
                        SoftInfo s = (SoftInfo)panel.Controls["SIC" + f.ToString()];
                        CheckBox c = (CheckBox)s.Controls["checkBox"];
                        c.Checked = false;
                    }
                }
                else if (AllcheckBox.Checked == true)
                {
                    int h = n.Length - 1;
                    for (int f = 0; f <= h; f++)
                    {
                        SoftInfo s = (SoftInfo)panel.Controls["SIC" + f.ToString()];
                        CheckBox c = (CheckBox)s.Controls["checkBox"];
                        c.Checked = true;
                    }
                }
            }
      

  6.   

    直接一句搞定:
      
          private void AllcheckBox_CheckedChanged(object sender, EventArgs e)
            {
                    int h = n.Length - 1;
                    for (int f = 0; f <= h; f++)
                    {
                        SoftInfo s = (SoftInfo)panel.Controls["SIC" + f.ToString()];
                        CheckBox c = (CheckBox)s.Controls["checkBox"];
                        c.Checked = AllcheckBox.Checked ;
                    }
            }
      

  7.   

    看我7楼的原理。部分选中那个状态不是你能用鼠标控制的,他是由上面的checkbox是否全部选中来决定的。如果全选中的话,他就会自动选中checkBox1.CheckState = CheckState.Checked;
    ,一部分选中国,则设置checkBox1.CheckState = CheckState.Indeterminate;
    全未选中,则checkBox1.CheckState = CheckState.UnChecked;