权限分配

      1、问题:在开发WIN程序时登录界面的风格是什么样了的?
    解决:在开发WIN程序时登录界面应该简单明了,便于操作,视觉效果才会更佳,界面字体字号一般为VS2005系统默认最佳(宋体9pt),WIN程序通常只需要"登录"和"退出"两个按钮即可。
  2、问题:当用户登录验证成功后,进入主界面后为什么登录界面不能关闭掉?
    解决:那是因为VS2005默认的是第一次创建的窗体为启动窗体(也就是那个登录窗),所以进入主界面后不能把登录窗体关闭掉,就是能把登录窗体关闭了,那主窗体也随之被关掉了,也就是整个应用程序就结束了,解决方法就是把启动窗体改为主界面;
     //在Program.cs文件中改:
     static void Main()
            {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Form1 Fm = new Form1();//先创建登录窗体
            Fm.ShowDialog();
            if (Fm.DialogResult == DialogResult.OK)    //要先把登录窗体的"登录"按钮DialogResult属性设置为ok,才能这样判断
            {
                Application.Run(new mainForm());        //这里设置启动窗体为主界面mainForm
            }

   //在登录窗体的"登录"按钮的的click事件中(部分代码):
            if (Pword.CompareTo(user1.Password) == 0)
                    //成功登录
                    {
                        //this.Close();
                        this.DialogResult = DialogResult.OK;    //会自动关闭掉这个窗体
                    }
  3、问题:怎样才能把主界面上的所有菜单添加到权限列表中,遇到的问题怎样才能在权限窗体中调用主窗体中的菜单控件menustrip?
       解决:
在权限窗体的构造函数中添加主窗体类型的参数
      public partial class grantForm : Form
             {
               private mainForm Fm;
               string treeItem="";
               public grantForm(mainForm Fmain)
               {
                  InitializeComponent();
                  Fm = Fmain;           //传过来的主窗体引用赋值给主窗体类型Fm,就可以用Fm.menustrip1
               }
               //其它函数
     } 
             //在主窗体的某个按钮的单击事件中
   private void 设置权限ToolStripMenuItem_Click(object sender, EventArgs e)
             {
                grantForm gForm = new grantForm(this);   //this代表主窗体
                gForm.Show();
             } 

你可能感兴趣的:(权限分配)