• 通过登录窗体,登录不同的窗体,同时关闭登录窗体


    程序背景:有一个登录窗体,有三个子窗体,通过登录窗体上的选择不同打开不同的子窗体,同时关闭登录窗体。

    在网上找到时候发现有说无法关闭登录窗体的,有说用隐藏的,我不知道我这个方法是不是一个好的方法,但至少是一种思路,仅供参考。

    主要思路:在程序运行时通过ShowDialog(),打开登录窗体,当然要先实例化,然后找到登录窗体上的RadioButton控件,判断其属性,根据属性值不同打开不同的窗体(即通过Application.Run()方法打开)。

    程序实现:

    1:)  登录窗体上有三个RadioButton,选择不同,打开不同的窗体

    2:)  修改 Program 里的方法,实现判断RadioButton的Name属性,然后使用Application.Run(),打开不同的窗体

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Windows.Forms;
    
    namespace UI
    {
        static class Program
        {
            /// <summary>
            /// 应用程序的主入口点。
            /// </summary>
            [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                //Application.Run(new LoginForm());
    
                //实例化LoginForm窗体的对象
                LoginForm loginForm = new LoginForm();
    
                //模态窗体打开LoginForm,并判断其DialogResult
                if (loginForm.ShowDialog() == DialogResult.OK)
                {
                    //获得GroupBox控件里的子控件集合
                    GroupBox gb = (GroupBox)loginForm.Controls.Find("gbCheck", true)[0];
                    RadioButton rdo = null;
                    //遍历GroupBox控件里的子控件,转换为 RadioButton 类型的控件,方便后面判断其Name属性
                    foreach (Control item in gb.Controls)
                    {
                        rdo = item as RadioButton;
                    } 
                    //根据Name属性,打开不同的窗体
                    if (rdo.Name == "TaskForm")
                    {
                        Application.Run(new MainTaskForm());
                    }
                    else if (rdo.Name == "UserForm")
                    {
                        Application.Run(new MainUserForm());
                    }
                    else
                    {
                        Application.Run(new MainProjectsForm());
                    }
                }
            }
        }
    }

    程序总结:其实主要是ShowDialog()的使用,加上条件判断,方法仅供参考

  • 相关阅读:
    获取父页面标签对象,获取当前标签div高度
    响应回车事件
    解决checkbox的attr(checked)一直为undefined问题
    返回键 隐藏、、收起键盘textView|textField
    ios9 之后,Xcode7不推荐使用UIAlertView,改用UIAlertController+UIAlertAction(按钮)
    判断是否是 首次 进入app,,以及Xcode7之后前导页的设置
    根据 字数 确定 UI控件高度
    对于限制UITextView输入的字符数
    block 反向传值回调
    NSUserDefault的使用
  • 原文地址:https://www.cnblogs.com/wanly/p/3415255.html
Copyright © 2020-2023  润新知