----------------------以下为我在黑马程序员学习期间整理的笔记和心得,期待与您交流! ----------------------

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

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

常见控件有: 

Label  标签

Button  按钮

TextBox 文本框

ListBox  下拉框

CheckBox 复选框

RadioButton 单选按钮

ComboBox 组合框

Picturebox 显示图像的容器

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

(1)主要属性有: 

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

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

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

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

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

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

(2)主要方法:

Close()关闭

Show()显示 

Hide()隐藏

Focus()聚焦

(3)事件:

Click:双击事件

4.TextBox:

属性:

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

  Multiline:是否可以多行显示

  PasswordChar:掩码

  ReadOnly:文本框内容只读

  ScrollBars:滚动条

  WordWrap:是否自动换行

  多行文本框的的复加值:

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

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

5.PictureBox  图像显示容器

 属性:

Image:设置显示的图片

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

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

eg.页面上有一张图片,默认(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;
}

6.ComboBox:

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

DropDownStyle:  DropDownList(只能选不能写)

 DropDown(能选能改)

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

Combobox.selectedItem:选中文本的内容

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

  string name = txtName.Text;//定义一个变量存储文本框中的内容
this.Text = name + "你好!";//this表示当前类,在这里即为当前的窗口

8.登录界面,登录错误三次,程序退出(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()也是表示程序关闭)
}
}

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

 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()));

10.简单的四则运算器

 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(); //文本框中的内容是字符串格式的

11.省市选择器

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("深圳");
}