FrameWork:winform以及正则表达式基础

时间:2021-12-30 17:02:31

Winform
20161104
1、常用控件

Label 标签 lblXXX Name Text
TextBox 文本框 txtXXX Name Text PasswordChar MultiLine
Button 按钮 btnXXX Name Text
MenuStrip:菜单
ToolStrip:工具条

GroupBox:分组框 grp
RadioButton:单选按钮 rdb Checked
ComboBox:组合框 cbb DropDownStyle:DropDownList
DateTimePicker: Value(DateTime)
Panel:面板

2、控件的常用属性和事件
3、事件处理程序

窗体跳转
非空验证
有效性验证
关闭窗体:this.Close();
退出应用程序:Application.Exit();
添加:
修改密码:


MDI窗体:多文档界面
1、窗体的IsMdiContainer属性:true
2、在主菜单上添加菜单项:窗口(tsmiWindow)
3、菜单的MdiWindowListItem属性,设置为tsmiWindow
4、窗体跳转,添加语句 要打开窗体对象.MdiParent = this;


窗体之间传参
对象.字段 = 值;

20161106


课堂练习
完成 计算机 系统属性窗体
涉及到的新控件:TabControl LinkLabel CheckBox
TabControl: TabPages
控件的Dock、Anchor属性


DataGridView:数据网格视图
AutoSizeColumnsMode:Fill
RowHeadersVisible:fa
lse
SelectionMode:FullRowSelect
MultiSelect:false
AllowUserToAddRows:false
AllowUserToDeleteRows:false

DataPropertyName:当前列绑定的数据源属性或者数据库列的名称

DataSource属性

创建汽车类:车牌号、品牌、型号、价格、颜色
绑定汽车集合到DataGridView

List<> 数据绑定到DataGridView
控件对象.DataSource = List<>集合对象;

Dictionary<K,V>数据绑定到DataGridView
BindingSource bind = new BindingSource();
bind.DataSource = stuDic.Values;
this.dgvStuList.DataSource = bind;


ContextMenuStrip:上下文菜单(右键菜单)
删除功能
dgvStuList.SelectedRows:选中行的集合
dgvStuList.SelectedRows[i].Cells[j].Value;//选中的第(i+1)行第(j+1)列的值
dgvStuList.SelectedRows[0].Index;//选中的第一行的索引

ListView:列表视图
属性:
View(LargeIcon、SmallIcon、Details、List、Tile)
Columns:列的集合(Details视图下可用)
ListViewItem:ListView项
SubItmes:项的子项的集合

GridLines:是否添加网格线


步骤:
1、添加控件ListView
2、控件的属性View设置为Details
3、添加列的集合(控件右上角小三角 编辑列,属性Columns)
4、添加项(控件右上角小三角 编辑项,,属性Items)
5、添加子项(SubItmes)

课堂练习:
计算机

List<Student> stuList;
Dictionary<int,Student> stuDic;

foreach(Student stu in stuList)
{
//创建项
ListViewItem item=new ListViewItem();
//项的文本
item.Text=stu.StuNo.ToString();
//添加子项
item.SubItems.AddRange(new string[]{stu.StuName,stu.Sex,stu.Birthday,stu.ClassName});
//添加项
lvStuList.Items.Add(item);
}


foreach(Student stu in stuDic.Values)
{
//同上
}

192=128+64
168=128+32+8

(11111111)b=255

正则表达式:

IP地址
32位二进制
点分十进制
192.168.1.1
11000000.10101000.00000001.00000001

命名空间:System.Text.RegularExpression;
类:Regex Match MatchCollection
方法:Regex类中的常用方法:Match() Matches() Replace()

Regex regex=new Regex("规则");
string s=regex.Replace("原字符串","替换内容");//将"原字符串"中符合regex规则的子字符串替换为"替换内容"

练习二、替换字符串中的空格,不论多少个空格都换成 [空格]

" 无米 面也可,无鸡 鸭也可,无鱼 肉也可,无银 钱也可,青菜一碟 足矣 "

[空格]无米[空格]面也可,无鸡[空格]鸭也可,无鱼[空格]肉也可,无银[空格]钱也可,青菜一碟[空格]足矣[空格]

关键代码:
Regex regex=new Regex("\\s");
string s="";
string result=regex.Replace(s,"[空格]");
Console.WriteLine(result);

FrameWork:winform以及正则表达式基础