C#Windows窗体应用程序设计

本文详细介绍了Windows窗体应用程序的创建步骤和常用控件的使用,包括Label、Button、TextBox、RadioButton、CheckBox、ListBox、ComboBox和PictureBox控件。通过实例展示了如何实现功能,如文本显示、按钮事件处理、列表操作、图片显示等,帮助开发者更好地理解和运用这些控件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 窗体(Form)是一个窗口或对话框,是存放各种控件(包括标签、文本框、命令按钮等)的容器,可用来向用户显示信息。


前言

程序执行流程控制模式分为过程控制模式和事件驱动模式

7.2.1控件概述

7.2.2Lable控件

7.2.3Button控件

7.2.4TextBox控件

7.2.5 RadioButton控件

7.2.6 CheckBox控件

7.2.7 ListBox控件

7.2.8 ComboBox控件

7.2.9 PictureBox控件

一、

二、使用步骤

1.创建Windows窗体应用程序的过程

添加一个窗体的操作步骤是:选择“项目”|“添加Windows窗体”菜单命令,在出现的 “添加新项”对话框中,选中“Windows窗体”,输入相应的名称,单击“添加”按钮。

一个Windows应用程序可以包含多个窗体.

7.2.1.控件概述

控件是包含在窗体上的对象,是构成用户界面的基本元素,也是C#可视化编程的重要工具。

工具箱中包含了建立应用程序的各种控件,根据控件的不同用途分为若干个选项卡,可根据用途单击相应的选项卡,将其展开,选择需要的控件。          

 .NET中的大多数控件都派生于System.Windows.Forms.Control类。Control类实现了所有窗体交互控件的基本功能:处理用户键盘输入、处理消息驱动、限制控件大小等等。

控件的基本属性

 

 

 

例:图片的显示和隐藏。在窗体上放置一个图片框、一个“显示”按钮和一个“隐藏”按钮。开始运行时,图片不可见,“显示“按钮可用,“隐藏”按钮不可用。单击“显示”按钮后,图片显示出来,“显示”按钮变成不可用,而“隐藏”按钮变成可用。

 参考步骤及源码:

(1)打开Visual Studio 2015 开发环境,新建一个Windows应用程序项目,在Form1窗体中添加如表1所示的控件。

 

(2)双击“显示”按钮,Visual Studio 将自动为该按钮添加Click事件处理函数,在函数中完成以下代码。

private void btnShow_Click(object sender, EventArgs e)
 {
      this.pictureBox1.Visible = true;
      this.btnHide.Enabled = true;
      this.btnShow.Enabled = false;
 }

(3)双击“隐藏”按钮,Visual Studio 将自动为该按钮添加Click事件处理函数,在函数中完成以下代码。

 private void btnHide_Click(object sender, EventArgs e)
 {
      this.pictureBox1.Visible = false;
      this.btnShow.Enabled = true;
      this.btnHide.Enabled = false;
 }

7.2.2Lable控件

  Label控件,又称为标签控件,它主要用于显示用户不能编辑的文本,标识窗体上的对象(例如,给文本框、列表框添加描述信息等),另外,也可以通过编写代码来设置要显示的文本信息。

 

 7.2.3Button控件

Button控件,又称为按钮控件,是Windows 应用程序中最常用的控件之一,通常用它来执行命令。

 

 

 7.2.4TextBox控件

          TextBox控件,又称为文本框控件,文本框经常用于获取用户输入或显示文本,通常用于可编辑文本,也可以设定其成为只读控件。

 

 

 

例子:乘法运算。设计一个乘法运算窗口,如下图所示,该窗口能完成浮点数乘法运算。

 

//参考代码
//求积按钮
private void btnProduct_Click(object sender, EventArgs e)
{
     double a = 0, b = 0, s = 0;
     try
     {
          a = Convert.ToDouble(txtMulti1.Text);
          b = Convert.ToDouble(txtMulti2.Text);
     }
     catch (Exception exp)
     {
          MessageBox.Show(exp.Message);
     }
     s = a * b;
     txtPro.Text = Convert.ToString(s);
}
//清空按钮
private void btnClear_Click(object sender, EventArgs e)
{
     txtMulti1.Clear();
     txtMulti2.Clear();
     txtPro.Clear();
}
//退出按钮
private void btnExit_Click(object sender, EventArgs e)
{
     this.Close();
}

例子登录窗体设计。设计一个登录窗口。登录窗口是很多应用系统中不可缺少的组成部分。通过验证用户输入的用户名和密码,决定是否允许用户进入系统,可在一定程度上保证系统的安全。

 

//参考代码
 //“登录”按钮
 private void btnLogin_Click(object sender, EventArgs e)
 {
    if ((this.txtUserName.Text == "abc") && (this.txtUserPwd.Text 
             == "123"))
    {
         MessageBox.Show("登录成功");
    }
    else
    {
         MessageBox.Show("输入错误!");
    }
 }
 //“重填”按钮
 private void btnClear_Click(object sender, EventArgs e)
 {
      this.txtUserName.Clear();
      this.txtUserPwd.Clear();
      this.txtUserName.Focus();
 }

7.2.5RadioButton控件

         RadioButton控件,又称为单选按钮,单选按钮(RadioButton)通常成组出现,用于为用户提供两个或多个互相排斥的选项。

 

       如果要在一个Form上创建多个单选按钮组,则需要使用GroupBox或者Panel控件作为容器。

       把单选按钮组合在一起,使它们创建一个逻辑单元。首先在窗体上拖放一个GroupBox控件(组框),再把需要的RadioButton按钮放在组框的边界内,RadioButton按钮知道如何改变自己的状态,以反应组框中唯一被选中的选项。

 

 7.2.6 CheckBox控件

         CheckBox控件,又称为复选框控件,复选按钮(CheckBox)通常成组出现,用于为用户提供两个或多个互不排斥的选项。

 

 

例子简单的学生信息调查窗体。设计实现一个窗体,运行时,用户在第一个文本框中输入姓名,在两个单选按钮中完成性别的选择,在“学过的课程”下对学过的课程进行选择后,单击“提交”按钮,此时,用户的信息将显示在第二个文本框中。

 

//参考源码

private void btnSubmit_Click(object sender, EventArgs e)
{
    string name;
    string sex;
    string course = null;
    name = txtName.Text;
    if (rbMale.Checked)
        sex = rbMale.Text;
    else
        sex = rbFemal.Text;
    if (cbEnglish.Checked)
        course += cbEnglish.Text + "  ";
    if (cbLaw.Checked)
        course += cbLaw.Text + "  ";
    if (cbPhysics.Checked)
        course += cbPhysics.Text + "  ";
    if (cbPolitics.Checked)
        course += cbPolitics.Text + "  ";
    txtResult.Visible = true;
    txtResult.Text = "姓名:" + name + "\r\n\r\n" +
                     "性别:" + sex + "\r\n\r\n" +
                     "所学过的课程:" + course;
}

 7.2.7ListBox控件

         ListBox控件,又称为列表框控件,列表框控件用来显示一组条目,以便让操作者从中选择一条或者多条,然后进行相应的处理。

 

 

 

 例子:基于列表框的简单选课窗体开发。编写Windows应用程序,设计实现一个简单选课系统,如图所示。

要求: 

  (1)点击“添加”按钮,将把在第一文本框中的输入的课程名称添加到左边的列表框中,且所添加的课程不能为空,不能重复。  

  (2)点击“->”按钮,将把左边列表框中所选课程添加到右边的列表框中,同时在左边的列表框中删除掉该课程。点击“<-”按钮,操作同理。  

  (3)点击“>>”按钮,将把左边所有的课程都添加到右边的列表框中,同时删除左边列表框中的所有内容。点击“<<”按钮,操作同理。

 

//代码如下
//添加新的课程 
private void btnAddCourse_Click(object sender, EventArgs e)
{
     bool exit = false;
     if (txtCourse.Text == "")
          MessageBox.Show("所添加的课程不能为空。");
     else
     {
          for (int i = 0; i < lbCourse.Items.Count; i++)
          if (txtCourse.Text == lbCourse.Items[i].ToString())
          {
               MessageBox.Show("不能添加重复的课程。");
               exit = true;
               txtCourse.Clear();
               break;
          }
          if (exit == false)
          {
               lbCourse.Items.Add(txtCourse.Text);
               txtCourse.Clear();
          }
     }
}
//”->”按钮单击事件
private void btnToRight_Click(object sender, EventArgs e)
{
    try
    {
        this.lbSelectCourse.Items.Add(this.lbCourse.SelectedItem);
        this.lbCourse.Items.Remove(this.lbCourse.SelectedItem);
    }
    catch (Exception exp)
    {
         MessageBox.Show(exp.Message);
    }
}
//”<-”按钮单击事件
private void btnToLeft_Click(object sender, EventArgs e)
{
     try
     {
         this.lbCourse.Items.Add(this.lbSelectCourse.SelectedItem);
         this.lbSelectCourse.Items.Remove
                      (this.lbSelectCourse.SelectedItem);
     }
     catch (Exception exp)
     {
          MessageBox.Show(exp.Message);
     }
}
//”>>”按钮单击事件
private void btnToRightAll_Click(object sender, EventArgs e)
{
     for (int i = 0; i < this.lbCourse.Items.Count; i++)
     {
         this.lbSelectCourse.Items.Add(this.lbCourse.Items[i]);
     }
     this.lbCourse.Items.Clear();
}
//”<<”按钮单击事件
private void btnToLeftAll_Click(object sender, EventArgs e)
{
     for (int i = 0; i < this.lbSelectCourse.Items.Count; i++)
     {
          this.lbCourse.Items.Add(this.lbSelectCourse.Items[i]);
     }
     this.lbSelectCourse.Items.Clear();
}

 7.2.8ComboBox控件

         ComboBox控件,又称为组合框控件,组合框由两部分组成,即一个文本框和一个列表框。文本框可以用来显示当前选中的条目,如果文本框可以编辑,则可以直接输入选择的条目。单击文本框旁边带有向下箭头的按钮,则会弹出列表框,使用键盘或者鼠标可以在列表框中选择条目。

 

 

例子:所属院系与专业信息获取。本例是要在左边的ComboBox中选择你所在的院系名称,在右边的ComboBox中自动添加院系所属的专业,单击【确定】按钮,则在窗口下部的文本框中显示所选择的信息。 

 例子:在线购物。本案例建立一个模拟在线购物程序,用户输入相应的信息后单击“确定”按钮,显示出用户提交的有关信息。    

7.2.9 PictureBox控件 

         PictureBox控件,又称为图片控件,是用于显示图像的Windows图片框控件。

 例子

图片的动态加载。点击不同按钮,分别实现加载绝对路径图片、加载相对路径图片以及通过打开对话框加载图片的功能。

                 

//参考代码
 //加载绝对路径图片
 private void button1_Click(object sender, EventArgs e)
 {
      pictureBox1.ImageLocation = "g:\\11.jpg";
 }
 //加载相对路径图片,图片放在当前项目可执行程序的文件夹下,即bin/Debug目录下
 private void button2_Click(object sender, EventArgs e)
 {
      pictureBox1.ImageLocation = Application.StartupPath + 
          "\\11.jpg";
 }
 //通过打开文件对话框加载图片
 private void button3_Click(object sender, EventArgs e)
 {
      if (openFileDialog1.ShowDialog() == DialogResult.OK)
      {
           pictureBox1.ImageLocation = openFileDialog1.FileName;
      }
 }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值