主要就是想实现如果数据库中第三列的值是TRUE就跳转到主窗体并且把主窗体的一些控件显示出来,但调试的时候就是无法实现,注:原本主窗体中的控件的VISIBLE都是FALSE的
frmMain main = new frmMain();
                    main.ShowDialog();
                    main.Tag = this.FindForm();
                    SqlDataReader dr;
                    dr = cmd.ExecuteReader();
                    dr.Read();                   
                    /*  无法判断  */
                    if ((bool)dr.GetValue(2) == true)
                    {
                        main.menuItem1.Visible = true;
                        main.menuItem2.Visible = true;
                        main.menuItem3.Visible = true;
                        main.menuItem4.Visible = false; 
                    }
                }
                else
                {
                    MessageBox.Show("用户不存在");
                    return;
                }

解决方案 »

  1.   

    frmMain main = new frmMain();
                       
                        main.Tag = this.FindForm();
                        SqlDataReader dr;
                        dr = cmd.ExecuteReader();
                        dr.Read();                   
                        /*  无法判断  */
                        if ((bool)dr.GetValue(2) == true)
                        {
                            main.menuItem1.Visible = true;
                            main.menuItem2.Visible = true;
                            main.menuItem3.Visible = true;
                            main.menuItem4.Visible = false; 
                        }
                    }
                    else
                    {
                        MessageBox.Show("用户不存在");
                        return;
                    }
                    main.ShowDialog(); //写在这里试试
      

  2.   

     main.ShowDialog();写最后看看
      

  3.   

    我的提示 main.menuItem1.Visible不可访问,因为它受保护级别限制
    这怎么解决!!!急需!!!