C#程序设计之windows应用程序设计基础

C#程序设计之windows应用程序设计基础

例题1

题目描述
设计一个“简单通讯录”程序,在窗体上建立一个下拉式列表框、两个文本框和两个标签,实现以下功能:当用户在下拉式列表框中选择一个学生姓名后,在“学生姓名”、“地址”两个文本框中分别显示出对应的学生和地址。

代码
窗体代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void lstStudent_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (this.lstStudent.SelectedItems.Count == 0)
            {
                return;
            }
            else
            {
                string strName=this.lstStudent.SelectedItem.ToString();
                switch (strName)
                {
                    case "张三":
                        this.txtName.Text = "张三";
                        this.txtAddress.Text = "江苏";
                        break;
                    case "李国":
                        this.txtName.Text = "李国";
                        this.txtAddress.Text = "北京";
                        break;
                    case "赵田":
                        this.txtName.Text = "赵田";
                        this.txtAddress.Text = "上海";
                        break;
                    default:
                        break;
                }
            }
        }

        
    }
}

运行结果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

例题2

题目描述
设计一个Windows应用程序,在窗体上有一个文本框、一个按钮,实现当用户单击按钮时文本框内显示当前是第几次单击该按钮的功能

代码
窗体代码

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace Chap9_2
{
	/// <summary>
	/// Form1 的摘要说明。
	/// </summary>
	public class Form1 : System.Windows.Forms.Form
	{
		private System.Windows.Forms.Label lblText;
		private System.Windows.Forms.Button btnClickMe;
		private System.Windows.Forms.TextBox txtName;
		/// <summary>
		/// 必需的设计器变量。
		/// </summary>
		private System.ComponentModel.Container components = null;

		public Form1()
		{
			//
			// Windows 窗体设计器支持所必需的
			//
			InitializeComponent();

			//
			// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
			//
		}

		/// <summary>
		/// 清理所有正在使用的资源。
		/// </summary>
		protected override void Dispose( bool disposing )
		{
			if( disposing )
			{
				if (components != null) 
				{
					components.Dispose();
				}
			}
			base.Dispose( disposing );
		}

		#region Windows 窗体设计器生成的代码
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{
            this.lblText = new System.Windows.Forms.Label();
            this.btnClickMe = new System.Windows.Forms.Button();
            this.txtName = new System.Windows.Forms.TextBox();
            this.SuspendLayout();
            // 
            // lblText
            // 
            this.lblText.Location = new System.Drawing.Point(107, 103);
            this.lblText.Name = "lblText";
            this.lblText.Size = new System.Drawing.Size(138, 41);
            this.lblText.TabIndex = 0;
            this.lblText.Text = "请点击下面的按钮";
            // 
            // btnClickMe
            // 
            this.btnClickMe.Location = new System.Drawing.Point(107, 185);
            this.btnClickMe.Name = "btnClickMe";
            this.btnClickMe.Size = new System.Drawing.Size(128, 31);
            this.btnClickMe.TabIndex = 1;
            this.btnClickMe.Text = "点我";
            this.btnClickMe.Click += new System.EventHandler(this.btnClickMe_Click);
            // 
            // txtName
            // 
            this.txtName.Location = new System.Drawing.Point(96, 257);
            this.txtName.Name = "txtName";
            this.txtName.Size = new System.Drawing.Size(149, 25);
            this.txtName.TabIndex = 2;
            this.txtName.Validating += new System.ComponentModel.CancelEventHandler(this.txtName_Validating);
            // 
            // Form1
            // 
            this.AutoScaleBaseSize = new System.Drawing.Size(8, 18);
            this.ClientSize = new System.Drawing.Size(328, 313);
            this.Controls.Add(this.txtName);
            this.Controls.Add(this.btnClickMe);
            this.Controls.Add(this.lblText);
            this.Name = "Form1";
            this.Text = "Form1";
            this.ResumeLayout(false);
            this.PerformLayout();

		}
		#endregion

		/// <summary>
		/// 应用程序的主入口点。
		/// </summary>
		[STAThread]
		static void Main() 
		{
			Application.Run(new Form1());
		}

		private int count = 0;

		private void btnClickMe_Click(object sender, System.EventArgs e)
		{
			count++;
			lblText.Text = "你一共点击了" + count.ToString() + "次按钮";
		}

		private void txtName_Validating(object sender, System.ComponentModel.CancelEventArgs e)
		{
			if(txtName.Text.Trim() == string.Empty)
			{
				MessageBox.Show ("用户名为空,请重新输入!");
				txtName.Focus();
			}
		}

		//private int count = 0;
	}
}

运行结果
在这里插入图片描述
在这里插入图片描述

例题3

题目描述
在窗体上创建3个文本框,编写一个程序,当程序运行时,在第一个文本框中输入一行文字,则在另两个文本框中同时显示相同的内容,但显示的字号和字体不同,要求输入的字符数不超过10个。

代码
窗体代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace TextBox
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            textBox2.Text = textBox1.Text;
            textBox3.Text = textBox1.Text;            
        }
    }
}

运行结果
在这里插入图片描述

例题4

题目描述
实现一个简单的计算器程序,此程序的设计界面如图,运行结果如图。

代码
窗体代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        char  chrOP;

        private void cmbOP_SelectedIndexChanged(object sender, EventArgs e)
        {
            switch (cmbOP.SelectedIndex)
            {
                case 0:
                    chrOP = '+' ;
                    break;
                case 1:
                    chrOP = '-';
                    break;
                case 2:
                    chrOP = '*' ;
                    break;
                case 3:
                    chrOP = '/' ;
                    break;
            }

        }

        private void btnCalculator_Click(object sender, EventArgs e)
        {
            string s1, s2;
            s1 = txtNum1.Text;
            if (s1 == "")
            {
                MessageBox.Show("请输入数值1");
                txtNum1.Focus();
                return;
            }
            s2 = txtNum2.Text;
            if (s2 == "")
            {
                MessageBox.Show("请输入数值2");
                txtNum2.Focus();
                return;
            } 
            

            Single arg1 = Convert.ToSingle(s1);
            Single arg2 = Convert.ToSingle(s2);
            Single r;
            switch (chrOP)
            {
                case '+':
                    r = arg1 + arg2;
                    break;                    
                case '-':
                    r = arg1 - arg2;
                    break;
                case '*':
                    r = arg1 * arg2;
                    break;
                case '/':
                    if (arg2 == 0)
                    {
                        throw new ApplicationException();
                    }
                    else
                    {
                        r = arg1 / arg2;
                    }
                    break;
                default:
                    throw new ArgumentException();
                    //MessageBox.Show("请选择操作符");
                    //r = 0;
                    //break;
            }
            txtResult.Text = r.ToString();
       
        }
    }
}

运行结果
在这里插入图片描述

例题5

题目描述
编写一个程序:输人两个数,并可以用命令按钮选择执行加、减、乘、除运算。窗体上创建两个文本框用于输人数值,创建3个标签分别用于显示运算符、等号和运算结果,创建5个命令按钮分别执行加、减、乘、除运算和结束程序的运行,如图9-63所示,要求在文本框中只能输人数字,否则将报错。程序的运行结果如图9-64所示。

代码
窗体代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace Button
{
    public partial class Form1 : Form
    {
        Single result;
        public Form1()
        {
            InitializeComponent();
        }

        private void btnAdd_Click(object sender, EventArgs e)
        {
            label1.Text = "+";
            result = Convert.ToSingle(textBox1.Text) + Convert.ToSingle(textBox2.Text);
            textBox3.Text = result.ToString();
        }

        //只允许输入0~9的数字
        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            //在限制用户输入非0~9之间的数字的同时,不应限制用户输入“回车”和“退格”,
            //否则将给用户带来不便
            if ((e.KeyChar != 8 && !char.IsDigit(e.KeyChar)) && e.KeyChar != 13)
            {
                MessageBox.Show("只能输入数字", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                e.Handled = true;//表示已经处理了KeyPress事件
            }
        }

        private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
        {
            //在限制用户输入非0~9之间的数字的同时,不应限制用户输入“回车”和“退格”,
            //否则将给用户带来不便
            if ((e.KeyChar != 8 && !char.IsDigit(e.KeyChar)) && e.KeyChar != 13)
            {
                MessageBox.Show("只能输入数字", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                e.Handled = true;//表示已经处理了KeyPress事件
            }
        }

        private void btnSub_Click(object sender, EventArgs e)
        {
            label1.Text = "-";
            result = Convert.ToSingle(textBox1.Text) - Convert.ToSingle(textBox2.Text);
            textBox3.Text = result.ToString();
        }

        private void btnMul_Click(object sender, EventArgs e)
        {
            label1.Text = "*";
            result = Convert.ToSingle(textBox1.Text) * Convert.ToSingle(textBox2.Text);
            textBox3.Text = result.ToString();
        }

        private void btnDiv_Click(object sender, EventArgs e)
        {
            if (Convert.ToSingle(textBox2.Text) == 0)
            {
                MessageBox.Show("请输入数字", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                textBox2.Text = ""; 
                textBox2.Focus();
                textBox3.Text = "";  
            }
            else
            {
                label1.Text = "/";
                result = Convert.ToSingle(textBox1.Text) / Convert.ToSingle(textBox2.Text);
                textBox3.Text = result.ToString(); 
            }
        }

        private void btnEnd_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }        
    }
}

运行结果
在这里插入图片描述
在这里插入图片描述

例题6

题目描述
建立一个简单的购物计划,物品单价已列出,用户只需在购买物品时选择购买的物品,并单击“总计”按钮,即可显示购物的总价格。在本程序中采用了以下设计技巧:
利用窗体初始化来建立初始界面,这样做比利用属性列表操作更加方便。
利用复选框的Text属性显示物品名称,利用Labell~Label4的Text属性显示各物品价格,利用文本框的Text属性显示所购物品价格。
对于复选框,可以利用其Checked属性值或CheckState属性值的改变去处理一些问题,在本例中被选中的物品才计人总价。

代码
窗体代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace CheckBox
{
    public partial class Form1 : Form
    {
        Single sum = 0;
        public Form1()
        {
            InitializeComponent();
        }

        private void checkBox4_CheckedChanged(object sender, EventArgs e)
        {
            sum +=  Convert.ToSingle(lblShampoo.Text);
        }

        private void checkBox3_CheckedChanged(object sender, EventArgs e)
        {
            sum +=  Convert.ToSingle(lblToothpaste.Text);
        }

        private void checkBox2_CheckedChanged(object sender, EventArgs e)
        {
            sum +=  Convert.ToSingle(lblToothbrush.Text);
        }

        private void chkSoap_CheckedChanged(object sender, EventArgs e)
        {
            sum +=  Convert.ToSingle(lblSoap.Text);
        }

        private void btnSure_Click(object sender, EventArgs e)
        {
            txtTotalPrice.Text = sum.ToString();
        }
    }
}

运行结果
在这里插入图片描述
在这里插入图片描述

例题7

题目描述
输入一个字符串,统计其中有多少个单词。单词之间用空格分隔,程序的运行结果如图。

代码
窗体代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnCal_Click(object sender, EventArgs e)
        {
            string strOrgin = this.txtOrgin.Text.Trim();
            string strTemp;
            int iCount = 0;
            int iLastIndex = strOrgin.LastIndexOf(" ");
            for (int i = 0; i <= iLastIndex; i++)
            {
                strTemp = strOrgin.Substring(i, 1);
                if (strTemp == " ")
                    iCount++;
            }
            this.txtWordCount.Text = Convert.ToString(iCount);
        }
    }
}

运行结果
在这里插入图片描述

例题9

题目描述
设定一个有大小写字母的字符串,先将字符串的大写字母输出,再将字符串的小写字母输出,程序的运行结果如图

代码
窗体代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnCal_Click(object sender, EventArgs e)
        {
            string strOrgin = this.txtOrgin.Text.Trim();
            string strUpString = "", strLowString = "";
            int iCount = strOrgin.Length;
            char[] charUp ={ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };
            char[] charLow ={ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' };
            for (int i = 0; i < iCount; i++)
            {
                string strTemp = strOrgin.Substring(i, 1);
                if (strTemp.IndexOfAny(charUp) >= 0)
                    strUpString += strTemp;
                if (strTemp.IndexOfAny(charLow) >= 0)
                    strLowString += strTemp;
            }
            this.txtUpString.Text = strUpString;
            this.txtLowString.Text = strLowString;
        }
    }
}

运行结果
在这里插入图片描述

  • 4
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
C#是一种现代化的面向对象程序设计语言,它是由Microsoft于2000年推出的。C#语言最初是为了开发Windows应用程序设计的,但现在已经可以用于开发各种类型的应用程序,包括Web和移动应用程序等。下面是一些C# Windows程序设计基础知识: 1. 界面设计:在C#中,可以使用Windows窗体应用程序来创建图形界面。窗体应用程序包含一个窗体和各种控件,如按钮、文本框、标签等,它们可以通过拖拽和放置的方式来创建和布局。您可以使用Visual Studio等集成开发环境来创建和编辑窗体应用程序。 2. 事件处理:当用户与应用程序交互时,不同的控件会触发不同的事件。在C#中,可以通过编写事件处理程序来响应这些事件。事件处理程序可以是一个方法,当事件发生时,该方法会被自动调用。您可以在Visual Studio中使用设计器来创建事件处理程序。 3. 数据库访问:在Windows应用程序中,通常需要访问数据库来存储和检索数据。C#提供了一种名为ADO.NET的技术,可以用于连接和操作各种类型的数据库,如SQL Server、MySQL等。您可以使用ADO.NET提供的类和方法来执行数据库操作,如查询、插入、更新和删除数据等。 4. 多线程编程:在Windows应用程序中,为了避免阻塞用户界面,通常需要使用多线程编程技术。C#提供了一种名为Task Parallel Library的技术,可以用于创建和管理线程。您可以使用Task Parallel Library提供的类和方法来实现多线程编程,如创建和启动线程、线程间通信等。 5. 错误处理:在Windows应用程序中,可能会出现各种类型的错误,如用户输入错误、数据库连接错误等。为了提高程序的健壮性,需要对这些错误进行处理。C#提供了一种名为异常处理的技术,可以用于捕获和处理各种类型的异常。您可以使用try-catch语句来实现异常处理,如捕获异常、记录日志、显示错误消息等。 希望这些基础知识能够帮助您更好地理解C# Windows程序设计

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

稚皓君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值