资源预览内容
第1页 / 共25页
第2页 / 共25页
第3页 / 共25页
第4页 / 共25页
第5页 / 共25页
第6页 / 共25页
第7页 / 共25页
第8页 / 共25页
第9页 / 共25页
第10页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
,第8章 C#窗体应用程序高级控件,掌握日期控件、TreeView控件、TabControl控件、ProgressBar控件、listView控件的常用属性以及使用方法,本章主要内容,7.1 日期控件,为用户查看和设置日期信息提供了一个直观的图形界面,包含了月份的编号和日期。 允许选择多个日期。 MonthCalendar 的一个重要功能是用户可以选择日期的范围。 1属性 MaxDate属性:最晚日期 MinDate 属性:最早日期 ShowToday属性:显示今天的日期 FirstDayOfWeek属性:设置星期几为每周的第一天 SelectionStart:获取或设置所选日期范围的开始日期 SelectionEnd:获取或设置所选日期范围的结束日期 2常用事件 DateChanged()事件。 当MonthCalendar控件选中的日期发生变化时触发该事件。,7.1.1 MonthCalendar控件,【例7-1】利用MonthCalendar控件选中一个日期范围,显示选中的天数。 在窗体上放置一个MonthCalendar 控件mclDate和Label控件、文本框控件, 设置MonthCalendar控件的SelectionRange属性为2008-9-21, 2009-1-18, 为MonthCalendar控件添加DateChanged事件。,7.1 日期控件,private void mclDate_DateChanged(object sender, DateRangeEventArgs e) txtYear.Text = mclDate.SelectionStart.Year.ToString(); txtMonth.Text = mclDate.SelectionStart.Month.ToString(); txtDay.Text = mclDate.SelectionStart.Day.ToString(); txtYearE.Text = mclDate.SelectionEnd.Year.ToString(); txtMonthE.Text = mclDate.SelectionEnd.Month.ToString(); txtDayE.Text = mclDate.SelectionEnd.Day.ToString(); txtDays.Text = (mclDate.SelectionEnd.Day-mclDate.SelectionStart.Day+1).ToString(); ,7.1 日期控件,从日期或时间列表中选择单个项。 用来表示日期时显示为两部分: 一个下拉列表(带有以文本形式表示的日期)和 一个网格(单击列表旁边的向下箭头时显示)。 1属性 MaxDate:确定显示日期的最大值 MinDate:确定显示日期的最小值 Value:设置或返回控件的日期和时间。 默认设置为当前日期。返回类型为DateTime 2.常用事件 CloseUp()事件:下拉日历被关闭并消失时触发该事件。,7.1.2 DateTimePicker 控件,7.1 日期控件,【例7-2】使用DateTimePicker 控件选择日期,并以标准格式显示。 在窗体上放置一个DateTimePicker 控件dptDate,一个Label控件用于显示选定的日期。 设置DateTimePicker 控件的ShowUpDown为False,Format属性为Short,为DateTimePicker 控件添加CloseUp()事件。,private void dtpDate_CloseUp(object sender, EventArgs e) label1.Text = dtpDate.Value.ToString(); ,7.1 日期控件,TreeView 控件可以为用户显示节点层次结构。 与在 Windows 操作系统资源管理器左窗格中显示文件和文件夹一样视图中的各个节点可能包含其他节点,称为“子节点”。 能够以展开或折叠的方式显示父节点或包含子节点的节点。,7.2 树型控件TreeView,1. TreeView控件的常用属性,7.2 树型控件TreeView,2. 使用设计器为 TreeView 控件添加和移除节点 (1)在“属性”窗口中,单击Nodes属性旁的“省略号” () 按钮。打开“树节点编辑器”。 如图8-4所示。 (2)首先添加根节点,然后根据需要添加根或子节点,并修改添加的节点属性。 (3)要删除节点,选择要删除的节点,然后单击“删除”按钮。,7.2 树型控件TreeView,3TreeView 控件的常用方法 (1)Add()方法:为树视图添加节点,添加的节点数据类型为TreeNode。 /为当前选中的节点添加一个子节点 TreeNode newNode = new TreeNode(“Text for new node“); TreeView1.SelectedNode.Nodes.Add(newNode); (2)Remove()方法:移除单个节点 treeView1.Nodes.Remove(treeView1.SelectedNode); /删除当前选中节点 (3)Clear()方法:清除所有节点。 TreeView1.Nodes.Clear(); /清除所有节点 (4)CollapsAll()方法:折叠所有树节点 (5)ExpandAll()方法:展开所有树节点 (6)GetNodeCount()方法:获取树节点总数,7.2 树型控件TreeView,例如:设计三层树型结构。 先创建一层系部节点, 再创建班级二层节点, 再创建系部、班级、学生的三层树。,7.2 树型控件TreeView,TreeNode node1 = new TreeNode(“计算机系“); /创建三个系部根节点 TreeNode node2 = new TreeNode(“电子系“); TreeNode node3 = new TreeNode(“机械系“); TreeNode node11 = new TreeNode(“计算机30832“); /创建班级父节点 node11.Nodes.Add(“曹华“); node1.Nodes.Add(node11); /将班级班级节点添加到系部节点中 / node2.Nodes.Add(“微电子20831“); / node3.Nodes.Add(“数控10931“); TreeNode node21 = new TreeNode(“微电子20831“); node21.Nodes.Add(“李海“); node21.Nodes.Add(“徐华“); node2.Nodes.Add(node21); TreeNode node31 = new TreeNode(“数控10801“); node31.Nodes.Add(“孙强“); node31.Nodes.Add(“彦慧“); node3.Nodes.Add(node31); tvwStu.Nodes.Add(node1); /添加根节点到树中 tvwStu.Nodes.Add(node2); tvwStu.Nodes.Add(node3);,7.2 树型控件TreeView,【例7-3】编程为TreeView控件添加计算机系的所有专业,选中班级后用Label控件显示选中的专业名称。 在窗体上放置一个TreeView控件tvwMajor和一个Label控件,打开事件窗口,在窗体装载事件中添加代码生成树型控件。,7.2 树型控件TreeView,生成系部-专业二层树结构 private void Form1_Load(object sender, EventArgs e) /定义数据库连接对象 OleDbConnection con = new OleDbConnection(“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:DataStudentsys.mdb“); if (con.State = ConnectionState.Closed) con.Open(); /定义Command对象 OleDbCommand cmd = new OleDbCommand(“select DptMj_Name from tblMajor where UpperId=30“, con); OleDbDataReader dr = cmd.ExecuteReader(); /生成DataReader对象 TreeNode node = new TreeNode(“计算机系”); /定义计算机系树结点 /读取记录 while (dr.Read() node.Nodes.Add( dr.GetValue(0).ToString() ); dr.Close(); tvwMajor.Nodes.Add(node); if (con.State = ConnectionState.Open) /关闭数据库连接 con.Close(); private void tvwMajor_AfterSelect(object sender, TreeViewEventArgs e) label1.Text = tvwMajor.SelectedNode.Text.ToString(); ,7.2 树型控件TreeView,7.2.2 用树型控件TreeView设计学生档案查询程序 1设计要求 (1)为程序界面添加工具栏,在工具栏添加一个退出按钮。 (2)窗体左侧放一个树型控件,显示班级层次结构,右侧放一个DataGridView控件显示选中班级学生的详细信息,程序运行结果如图8-6所示。,7.2 树型控件TreeView,/定义数据库连接对象 OleDbConnection con = new OleDbConnection(“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:DataStudentfile_new.mdb“); private void frmStuFindTvw_Load(object sender, EventArgs e) if (con.State = ConnectionState.Closed) con.Open(); /定义Command对象 OleDbCommand cmdDepart = new OleDbCommand(“select Dpt_Name,Dpt_Id from tblDepart“, con); OleDbDataReader drDepart = cmdDepart.ExecuteReader(); /生成DataReader对象 /读取记录,7.2 树型控件TreeView,while ( drDepart.Read() ) /定义树结点系部名称 TreeNode nodeDepart=new TreeNode(drDepart.GetValue(0).ToString(); if (drDepart.GetValue(1).ToString() != string.Empty) string strSql = “select DptMj_Name,DptMj_Id from tblMajor where UpperId=“; strSql += drDepart.GetValue(1).ToString()+“;
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号