winform(三)——更换主窗体例子

摘要:
=“){LoginAda=newLoginDA();//如果//登录查询{//将用户名分配给成员变量usernameusername=uid;//将此表单的返回值更改为OKthis.DialogResult=DialogResult.OK;//关闭此表单this.Close();}否则{MessageBox.Show(“用户名或密码错误!”);}}否则{MessageBox.Show(“用户名和密码不能为空!

做一个登录窗口,登录成功时关闭form1,展示from2界面

1.主界面Login

namespace WindowsFormsApplication1
{
    public partial class Login : Form
    {
        public string username;//定义一个变量给子窗体传值
        public Login()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //取出用户名和密码
            string uid = txtuid.Text;
            string pwd = txtpwd.Text;

            if (uid != "" && pwd != "")
            {
                LoginDA da = new LoginDA(); //连接数据库
                if (da.DengLu(uid, pwd)) //登录查询
                {

                    //将用户名赋值给成员变量username
                    username = uid;
                    //将该窗体的返回值变为OK
                    this.DialogResult = DialogResult.OK;
                    //将该窗体关闭
                    this.Close();

                }
                else
                {
                    MessageBox.Show("用户名或密码错误!");
                }
            }
            else
            {
                MessageBox.Show("用户名和密码不能为空!");
            }
        }

        private void Login_Load(object sender, EventArgs e)
        {

        }
    }
}

2.Program.cs 修改主主窗体Login变为Main

namespace WindowsFormsApplication1
{
    static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            //造一个登录窗体
            Login log = new Login();

            if (log.ShowDialog() == DialogResult.OK)
            {
                Application.Run(new Main(log.username));//main窗体的构造方法
            }
        }
    }
}

3.Main窗体

namespace WindowsFormsApplication1
{
    public partial class Main : Form
    {
        private string uid;//造一个变量接收Login窗体的值
        private ChinaDA cda;
        public Main()
        {
            InitializeComponent();
        }
        public Main(string username)
        {
            InitializeComponent();
            uid = username;

            cda = new ChinaDA();//连接数据库
        }

        private void Main_Load(object sender, EventArgs e)
        {
            label1.Text = uid;//把接收到的值传给label1显示一下

            //填充省的下拉列表
            FillSheng();

            //填充市的下拉列表
            FillShi();

            //填充区的下拉列表
            FillQu();

        }

        private void cmbsheng_SelectedIndexChanged(object sender, EventArgs e)
        {
            //填充市的下拉列表
            FillShi();

            //填充区的下拉列表
            FillQu();
        }

        private void cmbshi_SelectedIndexChanged(object sender, EventArgs e)
        {
            //填充区的下拉列表
            FillQu();
        }

        //填充省的方法
        public void FillSheng()
        {
            List<China> list = cda.Select("0001");

            cmbsheng.DataSource = list;
            cmbsheng.DisplayMember = "Name";
            cmbsheng.ValueMember = "Code";
        }

        //填充市的方法
        public void FillShi()
        {
            List<China> list = cda.Select(cmbsheng.SelectedValue.ToString());

            cmbshi.DataSource = list;
            cmbshi.DisplayMember = "Name";
            cmbshi.ValueMember = "Code";
        }

        //填充区的方法
        public void FillQu()
        {
            List<China> list = cda.Select(cmbshi.SelectedValue.ToString());

            cmbqu.DataSource = list;
            cmbqu.DisplayMember = "Name";
            cmbqu.ValueMember = "Code";
        }

        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show(cmbsheng.SelectedValue.ToString());
        }
    }
}

免责声明:文章转载自《winform(三)——更换主窗体例子》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C#导出Excel总结vue对比其他框架下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

WeifenLuo.WinFormsUI.Docking.dll的用法

基本框架 说明 weiFenLuo.winFormsUI.Docking.dll是开源项目DockPanel Suite的一个类库,可以实现像Visual Studio的窗口停靠、拖拽等功能。WeifenLuo.WinFormsUI.Docking是一个很强大的界面布局控件,可以保存自定义的布局为XML文件,可以加载XML配置文件。 该动态库源自开源项目...

Vue根据浏览器窗体变化动态设置Element Table组件的最大高度

Vue根据浏览器窗体变化动态设置Element Table组件的最大高度 这个场景应该经常遇到,比如说在一个页面有一个table,想让他数据过多的时候自动出现滚动条而不至于冲到屏幕外被隐藏,如果表格下面还有换页的话,换页直接冲没了,所以需要计算这个table表格的最大高度。 使用的是饿了吗Element组件库的table组件,有一个属性是 max-heig...

C#控件及常用设计整理

1、窗体  1、常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。  (2)WindowState属性:用来获取或设置窗体的窗口状态。  取值有三种: Normal (窗体正常显示)、 Minimized(窗体以最小化形式显示)和 Maximized(窗体以最大化形式显示)。  (3)StartPositio...

winform 使用task不卡界面的2种方式

方法1: button1.Enabled = false; TaskScheduler uiContext = TaskScheduler.FromCurrentSynchronizationContext(); Task t = Task.Factory.StartNew(async...

winform 学习笔记

1、数据表格显示 2、窗体透明代码 3、用信号量实现线程的挂起和恢复 4、加载VisionPP 5、VP实现相机外部触发并注册回调 6、显示图片处理过程 7、单个窗口重复使用 8、VP保存图片 9、多线程并行处理——Task类 10、跨线程使用UI控件 11、图表显示数据 12、窗体淡入淡出显示-winform  13、基于M库访问PLC寄存器 14、串口...

FindWindowEx使用方法

 函数功能:该函数获得一个窗体的句柄,该窗体的类名和窗体名与给定的字符串相匹配。这个函数查找子窗体,从排在给定的子窗体后面的下一个子窗体開始。在查找时不区分大写和小写。    函数原型:HWND FindWindowEx(HWND hwndParent,HWND hwndChildAfter,LPCTSTR lpszClass,LPCTSTR lpszW...