黑马程序员.net基础七

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------


winformWindowsForm的简称,是.NET中用来开发Windows窗口程序的技术,无论是winform控制台程序还是ASP.NET都要调用.NET框架 

控件:窗口上有许多元素是相似的,因此将这些元素抽象为一些类,这些类就叫做控件

       常见控件有:          

                   Label  标签

                   Button  按钮

                   TextBox 文本框

                   ListBox  下拉框

                   CheckBox 复选框

                   RadioButton 单选按钮

                   ComboBox 组合框

                   Picturebox 显示图像的容器

                   

控件共有的属性、方法和事件

1)主要属性有: 

    1).尺寸控制,主要有size(控制控件的高低宽窄);

    2)位置控制,主要有location(控件的位置)等;

    3)颜色和字体控制,主要有BackColor(背景颜色)、ForeColor(前景颜色)、Font(字体)等;

    4)名称控制,主要有Name(控件名字即类的实例化的字段名);

    5)文本,主要有Text(显示的文本)、Textalign(文本的对齐方式)、Textimagelation(文本与照片的关系)

    6)其它,主要有Enabled(决定该控件是否可用,true或 False)、Visible(决定控件是否可以被看见,truefalse),cursor(鼠标进入的显示样子)

2)主要方法:

    Close()关闭

    Show()显示 

    Hide()隐藏

    Focus()聚焦

3)事件:

Click:双击事件

TextBox:

  属性:

      MaxLength:用户能够输入的最大字符数

      Multiline:是否可以多行显示

      PasswordChar:掩码

      ReadOnly:文本框内容只读

      ScrollBars:滚动条

      WordWrap:是否自动换行

      多行文本框的的复加值:

         textBox1.AppendText(DateTime.Now.ToString()+"\n");

          //多行文本框中显示当前时间

 

PictureBox  图像显示容器

  属性:

   Image:设置显示的图片

   SizeMode:显示样式,有四个可选项

   Visible:是否显示图片(true或者false

   页面上有一张图片,默认(visible=false)是隐藏的用户在文本框中输入年龄,点击按钮,若是年龄>18则显示图片

             string strID = txtID.Text;

            string RegexTest = @"^\d{18}$";//判断18位纯数字身份证的正则表达式

            if (Regex.IsMatch(strID, RegexTest) == true)//如果格式正确匹配成功

            {

             string strYear = strID.Substring(6, 4);//截取出生年份的字符串

             int year = Convert.ToInt32(strYear); //将string强制转换成int

             if (DateTime.Now.Year - year >= 18)//DateTime.Now.Year取当前年份

                {

                    Pic.Visible = true;  //让图片变为可视

                    return;            //退出当前方法

                }

                else

                {

                    Pic.Visible = false; //让图片隐藏

                    MessageBox.Show("年龄太小了,不能够查看");

                }

            }

            else

            {

                Pic.Visible = false;

                MessageBox.Show("身份证格式错误,应该是18位的全数字");

                return;

            }

 

ComboBox:

     属性:Items:组合框中的内容

           DropDownStyle:  DropDownList(只能选不能写)

                             DropDown(能选能改)

           Combobox.selectedIndex:选中文本在组合框中的第几项

            Combobox.selectedItem:选中文本的内容

 

拖放控件,输入姓名,点击按钮,窗口标题上显示问号

            string name = txtName.Text;//定义一个变量存储文本框中的内容

            this.Text = name + "你好!";//this表示当前类,在这里即为当前的窗口

登录界面,登录错误三次,程序退出(admin 8888

   首先需要在类下面定义类字段:

         private int errorTimes = 0;

   然后:

           string userName = txtName.Text;

            string passWord = txtPass.Text;

            if (userName == "admin" && passWord == "8888")

            {

                MessageBox.Show("登陆成功");

                errorTimes = 0; //若是输出正确了,需要将错误次数清0

           }

            else

            {

                errorTimes++;

       //局部变量每次运行完毕变量的值都会被销毁,下次再运行,会重新初始化。

       //而类字段,只要是一个对象,那么只要对象不销毁,就会一直保持对象的字段值。

               if (userName != "admin")

                {

                    MessageBox.Show("用户名错误");

                }

                else

                {

                    MessageBox.Show("密码错误");

                }

                if (errorTimes>= 3)

                {

                    MessageBox.Show("登录错误次数太多,程序退出");

                    this.Close(); //关闭程序(Applocation.Exit()也是表示程序关闭)

                }

            }

 

在多行文本框中输入多行姓名=成绩格式的额数据,要求输出成绩最高学生的姓名和成绩

       string[] lines = txtScore.Lines;

          //利用多行文本框的lines属性,将每一行的内容存在字符串数组lines

            string maxName = " ";

            int maxScore = -1;

            foreach (string line in lines) //读取lines数组中的每一行

            {

                string[] remove = line.Split('='); //按照=进行分割

                string name = remove[0] ; //=左边的为名字

                string strscore = remove[1];

                int score = Convert.ToInt32(strscore); //将string转换成int

                if (score> maxScore)  //若果当前行的成绩大于最大成绩,则交换

                {

                    maxName = name;

                    maxScore = score;

                }

            }

            MessageBox.Show(string.Format("最高分是{0},最高分为{1}", maxName, maxScore.ToString()));

 

简单的四则运算器

            string strNum1 = txtNum1.Text;

            string strNum2 = txtNum2.Text;

            double result; 

              //考虑到除法运算的时候,肯能不是整除,所以定义为double

            int num1, num2;

               //试图转换输入的内容,若是可以转换则返回true并输出装换内容

               //若是不可以转换,则返回false

            if (int.TryParse(strNum1, out num1) == false)

            {

                MessageBox.Show("数据1格式错误");

                 //使用return只是跳出当前这个方法,不再进行下面内容不会终止程序  

                return; 

            }

            if (int.TryParse(strNum2, out num2) == false)

            {

                MessageBox.Show("数据2显示错误");

                return;

            }

            switch (cb操作符.SelectedIndex)//选中内容的索引,及为第几项

            {

                case 0:  //0表示第一项,第一项为+

                    result = num1 + num2; break;

                case 1:

                    result = num1 - num2; break;

                case 2:

                    result = num1 * num2; break;

                case 3:  //第四项为/,法中规定被除数不能为0

                    if (num2 == 0)

                    {

                        txtResult.Text = "";

                        MessageBox.Show("被除数不能够为0");

                        return;

                    }

                    else

                        result = num1 / (1.0 * num2); break;

                default: throw new Exception("未知的运算符"); break;

            }

            txtResult.Text = result.ToString(); //文本框中的内容是字符串格式的

 

省市选择器

            cb市.Items.Clear(); //清空旧数据

            string 省 = Convert.ToString(cb.SelectedItem); 

             //将选中的内容转换成string

            if (省 == "湖南")   //若是选中的省=”湖南,则向对应的cb市里添加内容

            {

                cb市.Items.Add("岳阳");

                cb市.Items.Add("长沙");

                cb市.Items.Add("湘潭");

            }

            if (省 == "河南")

            {

                cb市.Items.Add("焦作");

                cb市.Items.Add("洛阳");

                cb市.Items.Add("郑州");

             }

            if (省 == "广东")

            {

                cb市.Items.Add("东莞");

                cb市.Items.Add("广州");

                cb市.Items.Add("深圳");

            }


---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值