winform常用的属性(listview),常用容器(二者结合)
ListVies控件主要用于展示数据(非常实用和重要的控件)
FullRowSelect:设置是否行选择模式。(默认为false) (开启之后一下选中一行数据)
___________________________________________________________________________________________________________________________
GridLines:设置行和列之间是否显示网格线。(默认为false)提示:只有在Details视图该属性才有意义。(为了视觉效果更加直观)
___________________________________________________________________________________________________________________________
AllowColumnReorder:设置是否可拖动列标头来对改变列的顺序。(默认为false)提示:只有在Details视图该属性才有意义。(不是常用)
___________________________________________________________________________________________________________________________
MultiSelect:设置是否可以选择多个项。(默认为false)(一般用便利结合取值赋值展示)
___________________________________________________________________________________________________________________________
HeaderStyle:获取或设置列标头样式。
___________________________________________________________________________________________________________________________
Clickable:列标头的作用类似于按钮,单击时可以执行操作(例如排序)。
NonClickable:列标头不响应鼠标单击。
None:不显示列标头。(这三个差不多一类的属性)
___________________________________________________________________________________________________________________________
CheckBoxes:设置控件中各项的旁边是否显示复选框。(默认为false)(在裂变和数据展示特别实用。用户体验比较好)
___________________________________________________________________________________________________________________________
SelectedItems:获取在控件中选定的项。
CheckedItems:获取控件中当前复选框选中的项。
___________________________________________________________________________________________________________________________
Scrollable:设置当没有足够空间来显示所有项时是否显示滚动条。(默认为true)
HoverSelection:设置当鼠标指针悬停于项上时是否自动选择项。(默认为false)
HideSelection:设置选定项在控件没焦点时是否仍突出显示。(默认为false)
___________________________________________________________________________________________________________________________
数据的绑定
//1、将数据从数据库取出来 List<Users> ulist = new UsersData().Select(); listView1.Items.Clear(); //2、绑定到ListView上去 foreach (Users u in ulist) { ListViewItem li = new ListViewItem();//创建行对象 li.Text = u.UserName; //设置第一列显示数据 //绑定剩余列的数据 li.SubItems.Add(u.PassWord); li.SubItems.Add(u.NickName); li.SubItems.Add(u.Sex.ToString()); li.SubItems.Add(u.Birthday.ToString()); li.SubItems.Add(u.Nation); li.SubItems.Add(u.Class); //一定记得,行数据创建完毕后添加到列表中 listView1.Items.Add(li); }
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
数据的获取(利用便利集合)
foreach (ListViewItem li in listView1.CheckedItems) { MessageBox.Show(li.Text); }
___________________________________________________________________________________________________________________________
常用容器
两个比较重要的布局属性:
Anchor:填充布局
Dock:锁定布局(一般与容器控件配合使用)
Panel:类似于DIV,里面可以放任何控件,可以独立布局,还可以让其它控件及容器在它的内部再次布局
FlowLayoutPanel:相比Panel,此控件额外功能是在其内部的控件自动流式布局,本行不够的自动到下一行
GroupBox:依然是容器,拥有Panel全部属性,比Panel多了个标题和边框样式
TabControl:选项卡容器
SplitContainer:二分区容器(一般用不到,只是添加时可以拖动大小)
TableLayoutPanel:表格容器 每个表格只能放一个控件,要放置多个时可以在每个表格里面添加一个Panel容器然后在,Panel容器里面添加控件(比如按钮,就可以在表格里边加一个panel,然后在加其他数量的按钮)