黑马程序员《.NET WinForm》

本文介绍了.NET框架中的WinForm技术,包括如何创建Windows程序、窗体的主要属性和方法、基本控件的使用,以及通过实例展示了加法计算器、年龄判断和用户登录限制的编程实现。同时,文中还讲解了Trim()、Equals()等实用方法。

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

------- Windows Phone 7手机开发.Net培训、期待与您交流! -------

(1)WinForm 简介

WinForm,.NET中用来开发Windows窗口程序的技术,无论是之前学的控制台程序,还是后面要学的Asp.Net都是调用.Net框架。

如何创建一个Windows程序:

①打开VS编译器。

②选择"文件"→"新建"→"项目"命令。

③项目类型选择"Visual C#"。

④模板选择"Windows窗体应用程序",为项目起好名字后,单击"确定",就完成了一个Windows程序的创建。

认识Windows程序:

打开Windows窗体应用程序的解决方案资源管理器,在我们创建的程序下有Form1.cs窗体文件,我们对窗体编写的代码一般都存放在这个文件当中。Form1.Designer.cs窗体设计文件,其中的代码是由VS自动生成的,一般不需要更改。Program.cs主程序文件,其中包含程序入口的Main()方法。

需要注意的是

在主程序文件中,其中代码的第三句Application.Run(new Form1());含义是应用程序启动时运行的窗体。当我们改变窗体的名字时,在此句代码中我们要做相应的修改。

(2)关于窗体的主要属性和方法

初识主程序中代码含义:

 public partial class Form1 : Form

这里包含两个新知识点,partial和form

partial:可以将同一个类的代码分开放置在多个文件中,每个文件都是类的一部分代码,代码编译时,编译器再将各个分布类的代码合并到一起处理。

form:form是.NET Framework定义好的一个最基本的窗体类,具有一些窗体的最基本的属性和方法,冒号表示继承,表示我们创建的窗体都继承自Form类,那么它就具有了Form类中定义的属性和方法。

如果我们要对窗体的属性进行设置,可以通过右键属性中进行修改,也可通过编程来实现。

窗体的主要几个方法:

Close()   关闭窗体

Show()    显示窗体

ShowDialog()   模式化显示窗体

Hide()    隐藏窗体 

(3)基本控件的讲解

①标签(Lable):用于显示用户不能编辑的文本或图像,我们常使用它对窗体上的其他各种控件进行标注或说明。

标签的主要属性:Image在标签上显示的图像  Text在标签上显示的文本

②文本框(TextBox):用于获取用户输入的信息或向用户显示文本。

文本框的主要属性:

MaxLength 指定可以在文本框中输入的最大字符数 

Multiline 表示是否可在文本框中输入多行文本

PasswordChar 指示在作为密码框时,文本框中显示的字符,而不是实际输入的文本

ReadOnly 指定是否允许编辑文本框中的文本

Text  与文本框关联的文本

调取文本框中的内容:string name = textBox1.Text;//调用文本框中的内容

③组合框(ComboBox):它结合了文本框和列表框控件的特点允许用户在组合框内键入文本或从列表中进行选择

组合框的主要属性:

Items 组合框中的项

DropDownStyle  定义组合框的风格,指示是否显示列表框部分,是否允许用户编辑文本框部分

Text  与组合框关联的文本

SelectedIndex 当前选定项目的索引号,列表框中的每个项都有一个索引号,从0开始

SelectedItem  获取当前选定的项

④按钮(button):允许用户通过单击来执行操作

Enable 布尔值,表示空间是否可用,True表示可用,False表示不可用,如果空间不可用,则显示为灰色

Text  按钮上显示的文本

TextAlign 按钮上文本的对齐方式

(4)简单的加法计算器小程序

 private void button1_Click(object sender, EventArgs e)
        {
            string str1 = textBox1.Text;//  从文本框一中读取用户输入的数值
            string str2 = textBox2.Text;//  从文本框二中读取用户输入的数值
            int i1, i2;
            if (int.TryParse(str1,out i1)==false)   //判断用户输入的是否是合法数字,如果是合法的则
            {                                 //返回一个转化后的数字i1
                MessageBox.Show("第一个数不是合法的整数");
                return;  //加return来报错,防止程序继续运行
            }
            if (int.TryParse(str2, out i2) == false)
            {
                MessageBox.Show("第二个数不是合法的整数");
                return;
            }
            int sum = i1 + i2;
            textBox3.Text = sum.ToString();//把sum转化成字符串
        }

 重点讲解下:int.TryParse(str1,out i1)

尝试转换的表达式,str1表示待转换的字符串,i1表示转换后的返回值,如果无法转化,则表达式的值为false,输出文字输入非法字符。

(5)根据用户年龄来判断是否可以观看某些图片

 

例题:

   private void button1_Click(object sender, EventArgs e)
        {
            //pictureBox1.Visible = true; 用来控制图片显示,从属性中改也行
            string 身份证号= textBox1.Text;

            string stryear = 身份证号.Substring(6,4);
            int year = Convert.ToInt32(stryear);
            if (DateTime.Now.Year - year > 18)
            {
                pictureBox1.Visible = true;
            }
            else
            {
                MessageBox.Show("你不够年龄");
            }
        }

//pictureBox1.Visible = true; 用来控制图片显示,从属性中改也行,我们可以通过编程来实现

string stryear = 身份证号.Substring(6,4);int year = Convert.ToInt32(stryear);表示从输入的身份证号中截取用户的出生并转化成int数字

DateTime.Now.Year  表示当前年月。

(6)编程简单控制用户输入用户名 密码  错误超过三次自动关闭的小程序

例题:

private int ErrorTimes = 0;//默认字段
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {//用于实现用户登录界面  登录错误三次就禁止登录了
            string Username = username.Text.Trim();//trim用于移除用户输入的空格
            string Password = password.Text;
           
            if (Username.Equals("admin", StringComparison.OrdinalIgnoreCase) && Password == "888888")
            {//equals后的字符串是忽略大小写的
                MessageBox.Show("登录成功");
            }
            else
            {
                ErrorTimes++;//每错误一次就加一,这里不用变量是因为局部变量每次运行完毕都会被销毁,
                //下次在运行会重新初始化,而类字段只要窗口不关闭就一直保持运行中的值
                if (ErrorTimes >= 3)
                {
                    MessageBox.Show("错误次数过多,即将推出");
                    Application.Exit();
                }
                MessageBox.Show("登录失败");
            }

 

简单的知识点总结:

①s1.Equals(s2,StringComparison.OrdinalIgnoreCase)

表示两个字符串s1和s2不计大小写的比较

②Trim();//trim用于移除用户输入的空格

③MessageBox消息框

常用的消息框有四种:

MessageBox.Show(要显示的字符串);

MessageBox.Show(要显示的字符串,消息框的标题);

MessageBox.Show(要显示的字符串,消息框的标题,消息框按钮);

MessageBox.Show(要显示的字符串,消息框的标题,消息框按钮,消息框图标);

 

------- Windows Phone 7手机开发.Net培训、期待与您交流! -------

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值