我在一个Form中生成另外一个Form(OutputMsg) 再往上面添加 CheckBox  结果只能显示一个 就第一个..我调试看了看 数组中有几个 CheckBox   但是 显示不出来....求教  也试过用bringtofront 还是一样...  OutputMsg opmsgform = new OutputMsg();
                    CheckBox[] rbs = new CheckBox[dgvstaff.Columns.Count];  
                   
                    for( int chc=0;chc<dgvstaff.Columns.Count;chc++)
                    {
                        rbs[chc] = new CheckBox();
                        rbs[chc].Text = dgvstaff.Columns[chc].HeaderText;
                        rbs[chc].Location = new Point( 3,10+chc * 5);
                        this.Controls.Add(rbs[chc]); 
                    }
                  // MessageBox.Show(dgvstaff.Columns.Count);
                opmsgform.ShowDialog();

解决方案 »

  1.   

    this.Controls.Add(rbs[chc]);  加错了吧
    应是opmsgform.Controls.Add(rbs[chc]); 
      

  2.   


    噢噢 这个是我的测试 ...我先是opmsgform.Controls.Add(rbs[chc]) 发现不行 然后怀疑是不是窗体之间有什么权限问题  然后改为 本窗体this 试试而已 发现情况一样 只显示第一个checkbox  其余的没显示(有生产我看过的).....忘了改过来而已....问题还没解决
      

  3.   

    rbs[chc].Location = new Point( 3,rbs.Height * chc + 10);  那就是这个坐标的问题了
      

  4.   


    呵呵...谢谢你的 提醒  是大小的问题  我本以为 它有一个默认大小值   只要指定每个checkbox的大小就可以正常显示了....为什么第一个可以不设定就可以显示 而其余的 就不可以呢 ..又是问题...