C#基础入门 十

C#基础入门 十

Windows应用程序的界面设计

  • Form.cs:窗体文件,一般用于存放程序员为窗体编写的代码;

  • Form.Designer.cs:窗体设计文件,其中的代码是由VS自动生成的,一般不需要修改;

  • Program.cs:主程序文件,其中包含程序入口的Main()方法。

  • 创建一个简单的用户登录界面(图19),需要两个Label,两个TextBox,两个Button。

  • 编写事件处理程序:使用VS创建的Windows应用程序也是事件驱动的,并且VS已经定义好很多窗体和控件的时间,比较常用的有窗体的Load时间、按钮的Click事件等。在VS中编写事件处理程序的具体步骤如下:

    • 单击要创建事件处理程序的窗体或控件;

    • 在属性窗口中单击事件按钮(图20);

    • 单击处理的事件;

    • 为处理方法命名;

    • 双击定位到事件处理方法;

    • 编写处理代码。

  • 事件函数:事件处理方法的定义是自动生成的,它提供两个用来正确处理事件的参数,参数如下:sender是事件源,表示是谁触发了一个事件,则在这个事件中,事件源就是按钮。不同的控件可能会共用同一个事件处理方法,可以通过sender得到触发事件的控件,这需要进行强制类型转换。e是事件参数(EventArgs)对象,不同的事件会有不同的事件参数。

  • 消息框:消息框通常用于向用户显示通知消息,它是一个MessageBox对象,创建消息框需要用到MessageBox的Show()方法,它是一个重载函数。通常用到的消息框有以下4种类型:

    • 只显示提示文字的消息框:MessageBox.Show(String);
    • 显示提示文字、标题的消息框:MessageBox.Show(String,String);
    • 显示提示文字、标题、按钮的消息框:MessageBox.Show(String,String,MessageBoxButtons);
    • 显示提示文字、标题、按钮、图标的消息框:MessageBox.Show(String,String,MessageBoxButtons,MessageBoxIcon);
    • 在第一个例子中添加响应“取消”按钮的单击事件,实践代码如下,结果如下图所示(图18):
private void Cancel_Click(object sender, EventArgs e)
        {
            DialogResult result = MessageBox.Show("确定要取消吗?", "操作提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (result == DialogResult.Yes)
            {
                this.Close();
            }
        }
  • 用户输入验证:修改上述例子,单击“确定”按钮,弹出消息框,显示登陆消息提示。具体步骤:
    • 给“确定”按钮添加Click事件;
    • 处理“确定”按钮的单击事件,弹出消息框,如果没有输入用户名或密码,弹出相应的消息框给出提示,如果已经输入用户名和密码,则弹出消息框确定用户是否登录。
private void OK_Click(object sender, EventArgs e)
        {
            //判断输入的用户名是否为空
            if (this.userName.Text.Trim().Equals(string.Empty))
            {
                MessageBox.Show("请输入用户名!");
                this.userName.Focus();//是该文本框获得焦点
            }
            //判断输入的密码是否为空
            else if (this.Pwd.Text.Trim().Equals(string.Empty))
            {
                MessageBox.Show("请输入密码!");
                this.Pwd.Focus();
            }
            else
            {
                DialogResult result = MessageBox.Show("确定要登录吗?","登录提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Information);
                if (result == DialogResult.OK)
                {
                    MessageBox.Show("登录成功!");
                }
            }
        }
- 运行结果如下图所示:(图21、22、23)

控件进阶

  • 选项类控件:单选按钮为用户提供两个或多个呼哧选项组成的选项集,用户在一组单选按钮中只能选择一个。
  • 单选按钮的应用--话费充值:选择充值的金额并输入手机号码,单击“充值”按钮,显示充值消息提示,界面设计如下图所示(图24):
 private void btnRecharge_Click(object sender, EventArgs e)
        {
            int money = 0;
            if (phonename.Text == "")
            {
                MessageBox.Show("请输入充值号码!");
            }
            else if (phonename.TextLength < 11)
            {
                MessageBox.Show("非手机号码不能充值!");
            }
            else
            {
                if (Rdl10.Checked == true)
                {
                    money = 10;
                }
                else if (Rdl30.Checked == true)
                {
                    money = 30;
                }
                else if (Rdl50.Checked == true)
                {
                    money = 50;
                }
                MessageBox.Show("充值成功!充值号码:"+phonename.Text+",充值金额"+money);
            }
        }
  • 运行结果如下图所示(图25、26):

posted @ 2018-02-23 16:40  20145218  阅读(67)  评论(0编辑  收藏