zoukankan      html  css  js  c++  java
  • .NET基础示例系列之七:登录窗口

    WinForm程序常常需要制作登录窗口,如果登录过程较复杂,所需时间较久,有时还需要在登录过程中显示一些进度信息,以下是一个简单的示例:

    新建两个窗体,分别作为登录窗体、主窗体,现在重点在登录窗体:

    添加必要的标签、文本框,两个按钮,以及一个用于显示状态的标签:lbState

    设置窗体的acceptbuttoncancelbutton分别为btOKbtCancel,使窗体可以响应Enter键和Esc键。设置btCancelDialogResultCancel

    btOK的点击事件中:

    private void btOK_Click(object sender, EventArgs e)

    {

        this.lbState.Text = "用户验证......";

        Application.DoEvents();//处理当前在消息队列中的所有windows消息,避免出现界面假死现象

        if (!UserCheck(this.tbName.Text, this.tbPwd.Text))

        {

            this.lbState.Text = "";

            MessageBox.Show("用户名或密码错误!", "错误");

            this.tbName.Focus();

        }

        else

        {

            this.lbState.Text = "连接DCOM......";

            Application.DoEvents();//

            if (!ConnectDCOM())

            {

                this.lbState.Text = "";

                MessageBox.Show("连接DCOM出现错误,程序无法启动!", "错误");

            }

            else

            {

                this.DialogResult = DialogResult.OK;

            }

        }

    }

     

    private bool UserCheck(string userName,string userPwd)

    {

    //TO DO:USER CHECK

    }

     

    private bool ConnectDCOM()

    {

    // TO DO:CONNECT DCOM

    }

     

    程序入口处:

    static void Main()

    {

        Application.EnableVisualStyles();

        Application.SetCompatibleTextRenderingDefault(false);

     

        LoginForm lf = new LoginForm();

        if (lf.ShowDialog() == DialogResult.OK)

        {

            Application.Run(new MainForm());

        }

    }

  • 相关阅读:
    使用RSA实现客户端和后台的非对称加密
    PHP异步并行网络扩展swoole安装
    rvm is not a function的解决方法
    python中的sort(),sorted()的用法
    RESTful框架中的Mixin中的五个类视图
    RESTful框架的API请求流程
    理解RESTful架构
    Django中的admin管理工具
    一个程序员的自我介绍--英文版
    Django中的认证系统
  • 原文地址:https://www.cnblogs.com/morvenhuang/p/500158.html
Copyright © 2011-2022 走看看