Vindows程序设计 第7章窗体的高级应用
Windows 程序设计 第7章 窗体的高级应用
本章目标 ■理解Vindows,应用程序运行机制 ■了解基本控件的常用属性和支持的常用方法 ■理解基于事件的编程方法 ■掌握Windows,应用程序组成文件的作用 ■掌握ListView、ControlBox等高级控件的 基本属性和方法的使用
2 本章目标 ▪ 理解Windows应用程序运行机制 ▪ 了解基本控件的常用属性和支持的常用方法 ▪ 理解基于事件的编程方法 ▪ 掌握Windows应用程序组成文件的作用 ▪ 掌握ListView、ControlBox等高级控件的 基本属性和方法的使用
ListView 列表视图控件,以列表的形式显示信息 ■每条数据都是一个ListViewltem对象 ListViewltem对免 string0 itemstr={“001”,“张三”,“男”,“山东"; ,构造方法ListViewltem itemadd=new ListViewltem((itemstr)方 ■添加 listView1.Items.Add((itemadd);/添加项在末尾 ■插入 listView1.Items.Insert(index,itemadd);/∥在指定位置插入 ,清除项listView1.Items.RemoveAt(index);∥删除指定索引的项目 ■清空 listView1.Items.Remove(item);/删除指定的项目 ·获取列项 listView1.Selectedltems[o].Subltems1Text/删除指定的项目 列索引 3
3 ListView ▪ 列表视图控件,以列表的形式显示信息 ◼ 每条数据都是一个ListViewItem对象 ▪ ListViewItem对象 ◼ 构造方法 ◼ 添加 ◼ 插入 ◼ 清除项 ◼ 清空 ◼ 获取列项 string[] itemstr = { “001”,“张三”,“男”,“山东"}; ListViewItem itemadd = new ListViewItem(itemstr ); listView1.Items.Add(itemadd);//添加项在末尾 listView1.Items.Insert(index,itemadd); //在指定位置插入 listView1.Items.RemoveAt(index); //删除指定索引的项目 listView1.Items.Remove (item); //删除指定的项目 listView1 .SelectedItems [0].SubItems [3].Text//删除指定的项目 列索引
ListView Columns对象 ■添加 listView1.Columns.Add(string text);/添加项在末尾 ■插入 listView1.Columns.Insert(index,text);I∥在指定位置插入
4 ListView ▪ Columns对象 ◼ 添加 ◼ 插入 listView1. Columns.Add(string text);//添加项在末尾 listView1. Columns.Insert(index,text); //在指定位置插入
属性 说明 View 获取或设置项在控件中的显示方式,该属性值由View枚举类型指定 LargelmageList 在大图标模式下,显示LargelmageList中的图像列表。 SmallImageList 在其他三个模式下,显示SmalllmageList中的图像列表。 MultiSelect 获取或设置一个值,该值指示是否可以选择多个项 Sorting 获取或设置控件中项的排序顺序 Scrollable 获取或设置一个值,该值指示在没有足够空间来显示所有项时,是否 给滚动条添加控件 Items 获取包含控件中所有项的集合,每个列表项都可以通过Subltems属性 来访问它的各个子项,例如:listView1.tems[0].Subltems[0] SelectedItems 获取在控件中选定的项 CheckBoxes 获取或设置一个值,该值指示控件中各项的旁边是否显示复选框 CheckedItems 获取控件中当前选中的项 LabelEdit 获取或设置一个值,该值指示用户是否可以编辑控件中项的标签 LabelWrap 获取或设置一个值,该值指示当项作为图标在控件中显示时,项标签 是否换行 Columns 获取控件中显示的所有列标题的集合 5
5 ListView 属性 说明 View 获取或设置项在控件中的显示方式,该属性值由View枚举类型指定 LargeImageList SmallImageList 在大图标模式下,显示LargeImageList中的图像列表。 在其他三个模式下,显示SmallImageList中的图像列表。 MultiSelect 获取或设置一个值,该值指示是否可以选择多个项 Sorting 获取或设置控件中项的排序顺序 Scrollable 获取或设置一个值,该值指示在没有足够空间来显示所有项时,是否 给滚动条添加控件 Items 获取包含控件中所有项的集合,每个列表项都可以通过SubItems属性 来访问它的各个子项,例如:listView1.Items[0].SubItems[0] SelectedItems 获取在控件中选定的项 CheckBoxes 获取或设置一个值,该值指示控件中各项的旁边是否显示复选框 CheckedItems 获取控件中当前选中的项 LabelEdit 获取或设置一个值,该值指示用户是否可以编辑控件中项的标签 LabelWrap 获取或设置一个值,该值指示当项作为图标在控件中显示时,项标签 是否换行 Columns 获取控件中显示的所有列标题的集合
string str comboBox1.Selectedltem.ToString(); switch (str) case"大图标": 获取选定项目 listView1.View View.Largelcon; break; case"小图标": listView1.View View.Smalllcon; break case"列表": listView1.View View.List; break; default listView1.ViewView.Details; break; 6
6 获取选定项目
private void btnAdd_Click(object sender,EventArgs e) f listView1.Items.Insert(count,new ListViewltem(subltem)); listView1.Items[count].Imagelndex 0; string sex ="T; if (radioButton1.Checked) sex radioButton1.Text; else sex radioButton2.Text; string]items =txtStuNo.Text ,txtStuName.Text ,sex,txtAddress.Text } ListViewltem Iv new ListViewltem(items ) listView1.Items.Add(Iv);
7 private void btnAdd_Click(object sender, EventArgs e) 添加数据 { string sex = ""; if (radioButton1.Checked) sex = radioButton1.Text; else sex = radioButton2.Text; string[] items = { txtStuNo.Text ,txtStuName.Text ,sex,txtAddress .Text }; ListViewItem lv = new ListViewItem(items ); listView1.Items.Add(lv); }
MessageBox.Show(listView1.Selectedltems.Count.ToString ()) for (int i listView1.Selectedltems.Count-1;i>=0;i-) ListViewltem item listView1.Selectedltems[i]; listView1.Items.Remove(item); 从后向前删除 int count listView1.Selectedlndices.Count; for (int i=0;i<count;i++) listView1.Items.RemoveAt(listView1 .SelectedIndices [0]); 每次删除第一项 string str; str listView1.Selectedltems[0].Text; MessageBox.Show("该学生的学号为:"+str); 8
8 从后向前删除 每次删除第一项
MonthCalendar 到 提供了一个直观的图形界面,可以让用户查看和设置日期 ■可以使用鼠标进行拖拽,用于选择一段连续的时间, 此段连续的时间包括时间的起始和结束 ■ 常用属性 ■BackColor:背景色 ·Backgroundlmage:背景图像 ■SelectionStart:开始日期 ■SelectionEnd:结束日期 ■ ShowToday:是否显示今天 ■ShowTodayCircle:是否显示圆圈 ■ 方法: ■AddDay ■事件:DateChanged 9
9 MonthCalendar ▪ 提供了一个直观的图形界面,可以让用户查看和设置日期 ◼ 可以使用鼠标进行拖拽,用于选择一段连续的时间, 此段连续的时间包括时间的起始和结束 ▪ 常用属性 ◼ BackColor:背景色 ◼ BackgroundImage:背景图像 ◼ SelectionStart:开始日期 ◼ SelectionEnd :结束日期 ◼ ShowToday :是否显示今天 ◼ ShowTodayCircle :是否显示圆圈 ▪ 方法: ◼ AddDay ▪ 事件:DateChanged
DateTimePicker 用于选择oTmP6 mmomwyy ,只能选择1Te,dateTimePicker1.vaue,n0: 而不是连续的时间段,也可以直接输入日期和时间 dateTimePicker1.Format=DateTimePickerFormat.Custom; dateTimePicker1.CustomFormat="HH:mm:ss MM/dd yyyy dddd"; this.textBox1.Text=dateTimePicker1.Value.ToString(); ■Vue:分给空件时口期时间值 ■CustomFormat:获取或设置自定义日期/时间格式字符 串 ■事件:ValueChanged 10
10 DateTimePicker ▪ 用于选择日期和时间 ◼ 只能选择一个时间 , 而不是连续的时间段,也可以直接输入日期和时间 ▪ 常用属性 ◼ Format :控件中显示的日期和时间格式 ◼ Value :分配给控件的日期/时间值 ◼ CustomFormat :获取或设置自定义日期/时间格式字符 串 ▪ 事件:ValueChanged dateTimePicker1 .Format =DateTimePickerFormat .Custom ; DateTimePickerFormat枚举 dateTimePicker1.CustomFormat = "HH:mm:ss MM/dd yyyy dddd"; this.textBox1.Text = dateTimePicker1.Value.ToString();