C_中的ListView控件实例教程

合集下载

C#ListView控件的属性和实际操作

C#ListView控件的属性和实际操作

C#ListView控件的属性和实际操作常⽤属性:View设置或返回控件的视图类型值说明1-LvwIcon 图标类型2-LvwSmallIcon ⼩图标类型3-LvwList 列表类型4-LvwReport 报表类型Arrange 设置后返回控件的图标排列⽅式(在图标视图下有效)值说明1-LvwNone 不排列2-LvwAutoLeft ⾃动靠右排列3-LvwAutoTop ⾃动靠左排列Icons、 SmallIcons、 ColumnHeaderIcons属性Icons指定图标视图时的图标与ImageList的绑定SmallIcons、 ColumnHeaderIcons指定列表视图时的图标与ImageList的绑定PICTURE、PictureAlignment属性分别指定ListView控件的背景图⽚和布局⽅式 ListItems(Index) 属性ListItems 属性是ListView控件中列表项的集合。

Index⽤于指定列表项集合中的⼀个对象,我们可以把这个对象看作对⼀⾏的引⽤ ListItems集合的属性1. Text 设置或返回显⽰⽂本2. key 关键字3. index 索引编号4. icon , smallicon 不同视图时显⽰单元格的图标5. checked 给checkboxes 打√6. selected 使处于选定状态7. ListSubitems(index)集合我们可以把这个集合看作对这⾏中单元格的引⽤ Text 设置或返回单元格显⽰的内容 Reporticon 设置单元格的图标8. Subitems(index) 设置或返回单元格⽂本 == ListSubitems(index).text ColumnHeaders(index) 属性ColumnHeaders 属性是ListView控件中列标头的集合1. text 显⽰标题⽂本2. key3. index4. icon 指定标题图标5. alignment 指定index列的对齐⽅式(注意:第⼀列也就是列表项不能指定)6. position 返回当前列的索引7. subitemindex 返回指定列的listsubitem索引 TextBackgroud 属性决定text的背景是透明还是ListView的背景⾊值 0 lvwTransparent 透明 1 lvw 不透明(⽤listview的背景⾊)Ghosted 属性 logic 决定是否虚状 HideColumnHeaders 属性隐藏表头 LabelWrap 属性标签转⾏ rgeIcon 或 View.SmallIcon 时才使⽤该属性 FullRowSelect 整⾏显⽰HotTracking 热点追踪⿏标指针⾃动调整为⼿型 HoverSelection 属性⾃动聚焦⿏标指针⾃动调整为⼿型 AllowColumnReorder属性值设置.t.时,⽤户可以⽤⿏标选中1列拖⾄其他地⽅进⾏重新排列 Sorted属性当值为.t.时,列表按字母排序常⽤⽅法:ListItems.add(index,key,text,icon,smallicon) 向listitems添加⼀列表项。

ListView列表视图控件使用举例详解

ListView列表视图控件使用举例详解

// folder // Create the two ListViewSubItems. lvsi = new ListViewItem.ListViewSubItem();//使用默认构造函数初始
化对象
lvsi.Text = ""; // Size - a folder has no size and so this column // is empty lvi.SubItems.Add(lvsi); // Add the subitem to the ListViewItem lvsi = new ListViewItem.ListViewSubItem(); lvsi.Text = stAccessTime.ToString(); // Last accessed column
private void PaintListView(string root) { try { // Two local variables that are used to create the items to insert ListViewItem lvi;//定义对象 ListViewItem.ListViewSubItem lvsi; // If there's no root folder, we can't insert anything. if (pareTo("") == 0) return;
可以任意改为其他名字,例如:“文件名“。
this.listViewFilesAndFolders.Columns.Add(colHead); // Insert the header//将第一列添加到ListView控件中 // Second header //同样向ListView控件中添加第二列 colHead = new ColumnHeader(); colHead.Text = "Size";//列名为“Size“大小 this.listViewFilesAndFolders.Columns.Add(colHead); // Insert the header // Third header

C#WinformListView使用

C#WinformListView使用

C#WinformListView使⽤以下内容均来⾃⽹上,个⼈收集整理,具体出处也难确认了,就没写出处了;⼀、基本使⽤:listView.View = View.Details;//设置视图listView.SmallImageList = imageList;//设置图标//添加列listView.Columns.Add("本地路径", 150, HorizontalAlignment.Left);listView.Columns.Add("远程路径", 150, HorizontalAlignment.Left);listView.Columns.Add("上传状态", 80, HorizontalAlignment.Left);listView.Columns.Add("耗时", 80, HorizontalAlignment.Left);//添加⾏var item = new ListViewItem();item.ImageIndex = 1;item.Text = name; //本地路径item.SubItems.Add(path); //远程路径item.SubItems.Add("ok"); //执⾏状态item.SubItems.Add("0.5"); //耗时统计listView.BeginUpdate();listView.Items.Add(item);listView.Items[listView.Items.Count - 1].EnsureVisible();//滚动到最后listView.EndUpdate();⼆、动态添加记录,ListView不闪烁:1.新建⼀个C# 类,命名为ListViewNF(NF=Never/No Flickering)2.复制如下代码class ListViewNF : System.Windows.Forms.ListView{public ListViewNF(){// Activate double bufferingthis.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);// Enable the OnNotifyMessage event so we get a chance to filter out// Windows messages before they get to the form's WndProcthis.SetStyle(ControlStyles.EnableNotifyMessage, true);}protected override void OnNotifyMessage(Message m){//Filter out the WM_ERASEBKGND messageif (m.Msg != 0x14){base.OnNotifyMessage(m);}}}3.修改你的WinForm对应的xxxx.Design.cs,将系统默认⽣成的System.Windows.Forms.ListView改为ListViewNF即可。

C# ListView控件

C#  ListView控件

C# ListView控件图8-13显示了Windows中最常用的ListView控件。

Windows为显示文件或文件夹提供了许多其他方式,ListView控件就包含其中一些方式,例如,显示大图标,详细视图等。

图8-13 磁盘信息列表视图通常用于显示数据,用户可以对这些数据和显示方式进行某些控制。

还可以把包含在控件中的数据显示为列和行(像网格一样),或者显示为一列,或者显示为图标表示。

最常用的列表视图就是图8-13中用于导航计算机机中盘符信息的视图。

ListView控件是本章中最复杂的一个控件,它包括了超出本书范围的内容,这里仅编写了一个示例,使用ListView控件中最重要的功能,为用户打下坚实的基础,并全面介绍可以使用的许多属性、事件和方法。

ListView的属性如表8-25所示。

方法。

表8-26 ListView控件的方法ListView控件也提供了BeginUpdate()方法和EndUpdate()方法,用于将大量的项添加到列表中,而无需以重绘的方式为列表添加项。

除此之外,ListView控件还具有如下几种方法,如表8-27所示。

下面创建一个实例,将驱动器的信息以列表的形式显示出来,包括每一个驱动器的名称、类型、总大小、可用空间以及备注等信息。

在这个实例中,列出了驱动器名称、驱动器根目录、驱动器磁盘格式、驱动器类型、驱动器卷标、总容量大小、剩余容量大小以及可用空闲容量大小等信息。

该实例的开发过程如下所示:(1)启动Microsoft Visual Studio 2010,创建新的项目ListDriver。

单击选中打开的空白窗体,设置其Text属性为“列表显示驱动器信息”。

(2)向打开的空白窗体中添加一个ListView控件,设置其Name属性为listView1;Dock属性为Fill;View属性为Details。

而Columns属性的设置如图8-14所示:图8-14 Columns属性的设置(3)双击窗体,在打开代码编辑窗口中,使用using引入相应的命名空间,具体如下所示:示出来。

C#WPFListView控件的实例详解

C#WPFListView控件的实例详解

C#WPFListView控件的实例详解C# WPF ListView控件的实例详解C#的WPF作为现在微软主流的桌⾯程序开发平台,相⽐过去的MFC时代,有了⾮常多的不同。

本⼈刚从MFC平台转过来,以为可以轻松上⼿,哪知碰到了很多问题,⼗分不解。

不得不乖乖回去看了本书,再继续回到边左边边学的路上。

在这边也推荐《深⼊浅出WPF》这本书,拿来上⼿还是极好的。

由于WPF以数据驱动UI的设计理念,很多控件⽤起来都与之前平台的相差很多,ListView控件算是有代表性的,这是进化的成果。

关于该控件的应该,很多参考了这篇博⽂,如觉本⼈记述不清楚,可去查阅。

WPF的代码分为前端和后端两部分,前端为UI,负责与⽤户进⾏交互;⽽后端则负责算法和数据的执⾏。

由于这种机制,我们程序员对两端都需要有⼀个⼤概的了解,且主要注重于后端,这点相⽐以前混起来的机制实在是好太多。

ListView控件的XAML代码⼤致如下书写:<ListView x:Name="listView" Height="165" VerticalAlignment="Top" HorizontalAlignment="Left" Width="604" BorderThickness="0,0,0,1" BorderBrush="#FFC8CCD4"> <ListView.View><!--设置列标签并将列成员与⼀个变量名称相绑定,以便后台链接修改--><GridView><GridViewColumn Header="姓名" Width="100" DisplayMemberBinding="{Binding Path=Name}"/><GridViewColumn Header="⼯作年限" Width="100" DisplayMemberBinding="{Binding Path=WorkYears}"/><GridViewColumn Header="⼯作电话" Width="100" DisplayMemberBinding="{Binding Path=WorkPhoneNumber}"/><GridViewColumn Header="邮箱" Width="100" DisplayMemberBinding="{Binding Path=Email}"/></GridView></ListView.View></ListView>代码中我们设置了⼀个四列,列项分别为“姓名”、“⼯作年限”、“⼯作电话”和“邮箱”的列表,并将各项的成员分别与⼀个变量名称相绑定。

C#中的ListView控件实例

C#中的ListView控件实例

C#中的ListView控件实例ListView可以通过四种不同的方式显示条目。

1.只能给ListView控件添加基于ListViewItem类的对象;2.ListViewItems属性:设置用于显示的属性;3.SubItems()方法:包含详细视图中显示的文本;4.View属性:设置以下四种显示方式:Details:详细信息;List:列表;LargeIcon:大图标;SmallIcon:小图标。

5.Details视图需要为Columns属性使用Add()方法添加列。

例一:namespace ListViewExercise{public partial class Form1 : Form{public Form1(){InitializeComponent();ListViewSet();CreateViewItemMethodOne();//CreateViewItemMethodTow();}/// <summary>/// ListView 设置/// </summary>private void ListViewSet(){//ListView显示方式listViewControl.View = View.Details;}/// <summary>/// //手动填加ListView方法1/// </summary>private void CreateViewItemMethodOne(){listViewControl.BeginUpdate();#region 增加Item的标题,共有三个列//1、创建标题listViewControl.Columns.Add("文件名");listViewControl.Columns.Add("大小");listViewControl.Columns.Add("创建日期");#endregion#region 手动填加ListView方法//2、增加第一个Item,在View.Details模式下,有点像第一列中一个值listViewControl.Items.Add("folder1","文件夹1",0);//3、增加第一个Item的第一个SubItem,在View.Details模式下,有点像第一列中一个值listViewControl.Items["folder1"].SubItems.Add("11");//增加第一个Item的第二个SubItem,在View.Details模式下,有点像第一列中一个值listViewControl.Items["folder1"].SubItems.Add("20080114");listViewControl.Items.Add("folder2","文件夹2",0);listViewControl.Items["folder2"].SubItems.Add("21");listViewControl.Items["folder2"].SubItems.Add("20080115");listViewControl.Items.Add("文件夹3");listViewControl.Items.Add("文件夹4");#endregionlistViewControl.EndUpdate();}/// <summary>/// 手动填加ListView方法2/// </summary>private void CreateViewItemMethodTow(){#region 增加Item的标题,共有三个列//1、创建标题,共三列listViewControl.Columns.Add("文件名");listViewControl.Columns.Add("大小");listViewControl.Columns.Add("创建日期");#endregionlistViewControl.BeginUpdate();#region 增加第一个Item//2、定义一个ListViewItem,在View.Details模式下,有点像第一列中一个值ListViewItem lvItem;//3、定义ListViewSubItem,在View.Details模式下,有点像第二列中一个值ListViewItem.ListViewSubItem lvSubItem;//实列化一个Item,在View.Details模式下,有点像加第一行的第一个值lvItem = new ListViewItem();//Item的显示的文字lvItem.Text = "文件夹1";//4、Item增加到ListView控件中,即增加第一行。

C#中ListView控件编程详解

C#中ListView控件编程详解

C#中ListView控件编程说明初次使用C#编程的人会感觉C#编程与MFC差别不大。

但是,仔细分析下来,不论是源代码的组织,窗体资源的描述,还是数据类型、控件用法,其实两者的差别是很大的。

个人感觉,无论是编程方法、编程风格、变成效率,还是程序界面的美观程度,C#无疑是新一代强大的编程工具。

相比而言,MFC编程确实已经老掉牙了。

下面,我们就针对C#中ListView控件的编程,看看C#的程序开发。

C#摒弃的MFC的List Control控件,取而代之的是ListView控件。

与List Control相比,ListView控件的编程和操作更加方便,其编程步骤如下:1、启动VS2008集成开发环境,新建一个C#的Windows窗体应用程序:MyListView2、打开工具箱,将ListView控件拖到主窗体上,并设置好大小。

如果希望在显示的项与项之间画上列表线,可以设置ListView控件的GridLines属性为:True,设置View属性为:Details,如下图。

3、双击主窗体Form1,在函数Form1_Load()中添加如下代码:private void Form1_Load(object sender, EventArgs e){//listView1.Columns.Add("", 0, HorizontalAlignment.Center);//1、为ListView控件添加列显示listView1.Columns.Add("序号", 60, HorizontalAlignment.Center);listView1.Columns.Add("名称", 120, HorizontalAlignment.Center);listView1.Columns.Add("单价", 90, HorizontalAlignment.Center);listView1.Columns.Add("数量", -2, HorizontalAlignment.Center);//2、声明一个ListViewItem数据集,并将需要插入的记录存储在数据集item1for (int i = 0; i < 3; i++){ListViewItem item1 = new ListViewItem();item1.SubItems.Clear();item1.SubItems[0].Text = "1";item1.SubItems.Add("照相机");item1.SubItems.Add("1000");item1.SubItems.Add("3");//3、将数据集item1添加到ListView控件listView1.Items.Add(item1);}}程序分析:1)该程序启动后,首先会执行函数Form1_Load(),加载主窗体。

想在C#中的listView 控件中显示图片:

想在C#中的listView 控件中显示图片:

在ListView控件中,想在ListView 中的第一列显示图片,比如当功能正常时显示对号,否则显示x号,在网上找了半天,都没找到解决办法。

最后在 上找到了答案::///questions/8276225/images-in-listview-subitem-c-sharp
首先你需要在WinForm 中添加一个imagelist 控件,在imagelist控件的图片集合中添加要显示的图片。

我的listView 中View 属性设置为details (其她的没试)。

然后将ListView的SmallImageList 属性赋值为添加的imagelist控件名。

之后:
?
这样就在行的第一列加了个图片。

以上是在View 为details 时,在第一列显示图片,下载在LargeIcon 下让ListView中的每个项目显示图片
1. 添加ImageList 控件这种相关属性:
主要设置了要显示的图片,及其要显示的大小:
添加如下代码:
lvwIcon.View = rgeIcon;
rgeImageList = imageList1;
for (int i = 0; i < 4; i++)
{
lvwIcon.Items.Add("图片" + (i+1));
lvwIcon.Items[i].ImageIndex = i;
} 显示效果。

c++ listview 例子

c++ listview 例子

c++ listview 例子C++中的ListView是一种常见的用户界面控件,用于显示和管理项目列表。

下面是一个简单的C++ ListView的示例代码:cpp.#include <windows.h>。

#include <commctrl.h>。

LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {。

// 注册窗口类。

WNDCLASS wc = { 0 };wc.lpfnWndProc = WindowProc;wc.hInstance = hInstance;wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);wc.lpszClassName = "ListViewExample";RegisterClass(&wc);// 创建窗口。

HWND hwnd = CreateWindow("ListViewExample", "ListView Example", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,CW_USEDEFAULT, 500, 400, NULL, NULL, hInstance, NULL);// 创建ListView控件。

HWND hListView = CreateWindow(WC_LISTVIEW, "",WS_CHILD | WS_VISIBLE | LVS_REPORT, 10, 10, 460, 380, hwnd, NULL, hInstance, NULL);// 设置ListView样式。

C#中ListView的简单使用方法

C#中ListView的简单使用方法

C#中ListView的简单使⽤⽅法ListView是⽤于显⽰数据的,先在窗体中拉⼀个lisview控件,还有⼀些新增、修改、删除、查询按钮和⽂本框,控件名称为listview,按钮为btnInsert,btnUpate,btnDeleteOne,btnDelete,btnSelect,⽂本框的名称为txtName,txtSex,txtPhone,txtAddress,设计如下图所⽰:写完这些后,先设置listView的⼀些属性和列标头,如图所⽰具体代码如下:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace TestGame{public partial class ListViewForm : Form{public ListViewForm(){InitializeComponent();}/// <summary>/// 窗体加载时调⽤初始化的Listview⽅法/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void ListViewForm_Load(object sender, EventArgs e){InitListView(this.listView);}/// <summary>/// 当点击新增时调⽤的⽅法/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btnInsert_Click(object sender, EventArgs e){InsertListView(this.listView);}/// <summary>/// 当点击修改时调⽤的⽅法/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btnUpdate_Click(object sender, EventArgs e){UpdateListView(this.listView);}/// <summary>/// 新增⽅法/// </summary>/// <param name="lv"></param>/// <returns></returns>public ListView InsertListView(ListView lv) {//获取⽂本框中的值string name = this.txtName.Text;string sex = this.txtSex.Text;string phone = this.txtPhone.Text;string address = this.txtAddress.Text;//创建⾏对象ListViewItem li = new ListViewItem(name);//添加同⼀⾏的数据li.SubItems.Add(sex);li.SubItems.Add(phone);li.SubItems.Add(address);//将⾏对象绑定在listview对象中lv.Items.Add(li); MessageBox.Show("新增数据成功!");return lv;}/// <summary>/// 初始化ListView的⽅法/// </summary>/// <param name="lv"></param>public void InitListView(ListView lv) {//添加列名ColumnHeader c1 = new ColumnHeader();c1.Width = 100;c1.Text = "姓名";ColumnHeader c2 = new ColumnHeader();c2.Width = 100;c2.Text = "性别";ColumnHeader c3 = new ColumnHeader();c3.Width = 100;c3.Text = "电话";//设置属性lv.GridLines = true; //显⽰⽹格线lv.FullRowSelect = true; //显⽰全⾏lv.MultiSelect = false; //设置只能单选lv.View = View.Details; //设置显⽰模式为详细lv.HoverSelection = true; //当⿏标停留数秒后⾃动选择//把列名添加到listview中lv.Columns.Add(c1);lv.Columns.Add(c2);lv.Columns.Add(c3);lv.Columns.Add("籍贯", 100); //相当于上⾯的添加列名的步骤 }/// <summary>/// 修改的⽅法/// </summary>/// <param name="lv"></param>/// <returns></returns>public ListView UpdateListView(ListView lv){if (lv.SelectedItems.Count > 0) { //把修改后的⽂本框内容添加到listview中lv.SelectedItems[0].SubItems[0].Text = this.txtName.Text;lv.SelectedItems[0].SubItems[1].Text = this.txtSex.Text;lv.SelectedItems[0].SubItems[2].Text = this.txtPhone.Text;lv.SelectedItems[0].SubItems[3].Text = this.txtAddress.Text;MessageBox.Show("修改数据成功!");}return lv;}/// <summary>/// 当listview选中状态改变时调⽤的⽅法/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void listView_SelectedIndexChanged(object sender, EventArgs e) { //当有选择⾏的数据时if (this.listView.SelectedItems.Count > 0) { //把选择的信息显⽰在相应的⽂本框中this.txtName.Text = this.listView.SelectedItems[0].SubItems[0].Text; this.txtSex.Text = this.listView.SelectedItems[0].SubItems[1].Text;this.txtPhone.Text = this.listView.SelectedItems[0].SubItems[2].Text; this.txtAddress.Text = this.listView.SelectedItems[0].SubItems[3].Text; }}/// <summary>/// 移除选中⾏的⽅法/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btnDeleteOne_Click(object sender, EventArgs e){if (this.listView.SelectedItems.Count > 0) {//移除整⼀⾏this.listView.SelectedItems[0].Remove();}}/// <summary>/// 移除所有⾏的⽅法/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btnDeleteAll_Click(object sender, EventArgs e){//清空整个listview中的⾏this.listView.Items.Clear();}private void btnSelect_Click(object sender, EventArgs e){SelectListView(this.listView);}public void SelectListView(ListView lv) {//列表有数据if (lv.Items.Count > 0){foreach (ListViewItem li in lv.Items){if (li.SubItems[0].Text == this.txtExitName.Text) {MessageBox.Show("存在该名称");return;}}MessageBox.Show("没有找到该姓名");}else {MessageBox.Show("未输⼊列表数据");}}}}最后运⾏效果是这样的,这是新增数据时的效果这是修改数据后的效果:这是查询是否存在这个名字的效果:删除选中⾏和删除全部就不显⽰出来了。

CList控件使用方法1

CList控件使用方法1

列表控件可以看作是功能增强的ListBox,它提供了四种风格,而且可以同时显示一列的多中属性值。

MFC中使用CListCtrl类来封装列表控件的各种操作。

通过调用BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );创建一个窗口,dwStyle中可以使用以下一些列表控件的专用风格:∙LVS_ICON LVS_SMALLICON LVS_LIST LVS_REPORT这四种风格决定控件的外观,同时只可以选择其中一种,分别对应:大图标显示,小图标显示,列表显示,详细报表显示∙LVS_EDITLABELS结点的显示字符可以被编辑,对于报表风格来讲可编辑的只为第一列。

∙LVS_SHOWSELALWAYS在失去焦点时也显示当前选中的结点∙LVS_SINGLESEL同时只能选中列表中一项首先你需要设置列表控件所使用的ImageList,如果你使用大图标显示风格,你就需要以如下形式调用:CImageList* SetImageList( CImageList* pImageList, LVSIL_NORMAL); 如果使用其它三种风格显示而不想显示图标你可以不进行任何设置,否则需要以如下形式调用:CImageList* SetImageList( CImageList* pImageList, LVSIL_SMALL);通过调用int InsertItem( int nItem, LPCTSTR lpszItem );可以在列表控件中nItem指明位置插入一项,lpszItem为显示字符。

除LVS_REPORT风格外其他三种风格都只需要直接调用InsertItem就可以了,但如果使用报表风格就必须先设置列表控件中的列信息。

通过调用int InsertColumn( int nCol, LPCTSTR lpszColumnHeading, int nFormat , int nWidth, int nSubItem);可以插入列。

C#listview使用

C#listview使用
li.SubItems[0].Text = i.ToString();
li.SubItems.Add("aaa");
li.SubItems.Add("25");
li.SubItems.Add("11223344");
}
public ListViewItemComparer(int column, SortOrder sortOrder) : this(column)
{
this.Order = sortOrder;
}
#region IComparer Members
if (this.Order == SortOrder.Ascending)
return result;
else if (this.Order == SortOrder.Descending)
return (-result);
public int Compare(object x, object y)
{
int result = pare(((ListViewItem)x).SubItems[this.SortColumn].Text,
((ListViewItem)y).SubItems[this.SortColumn].Text);
}
void inserListView() {
this.listView1.Clear();
this.listView1.View = View.Details;
this.listView1.GridLines = true;
{
this.SortColumn = 0;

wincc listview控件的用法

wincc listview控件的用法

wincc listview控件的用法WinCC(Windows Control and Configuration Center)是Siemens 提供的用于人机界面(HMI)设计的软件。

在WinCC 中,ListView 控件通常用于显示和编辑表格数据。

以下是一些基本的WinCC ListView 控件的用法:1. 创建ListView 控件:在WinCC 项目中,通过图形设计界面添加一个ListView 控件。

这通常可以在WinCC 的设计器中完成。

在设计器中,你可以设置ListView 的属性,如列数、列标题等。

2. 设置列和列标题:-在属性窗口中,找到`Columns` 属性。

-添加需要的列数,并为每列设置标题。

3. 添加数据:-你可以通过编程或配置文件等方式向ListView 添加数据。

-在WinCC 脚本或VBScript 中,使用ListView 控件的相应属性和方法来添加、删除或编辑数据。

```vbscript' 示例:在VBScript 中添加数据到ListViewDim listItemSet listItem = ScreenItems("ListView1").ListItems.Add(, , "Column1Data")listItem.SubItems(1) = "Column2Data"' 继续添加其他列的数据```4. 数据绑定:-可以使用数据绑定的方式将数据源与ListView 控件关联。

5. 事件处理:-你可以为ListView 控件的事件(如点击、选择等)编写处理程序,以响应用户操作。

6. 编辑模式:-如果需要用户能够编辑数据,确保ListView 控件的`EditStyle` 属性设置为`EditOnKeystrokeOrF2` 或其他适当的值。

7. 样式和外观:-根据需要设置ListView 控件的样式和外观,以满足设计要求。

C#LISTVIEW用法

C#LISTVIEW用法

C# 中LISTVIEW用法//增加项或列(字段)ListView1.Clear;ListView1.Columns.Clear;ListView1.Columns.Add;ListView1.Columns.Add;ListView1.Columns.Add;ListView1.Columns.Items[0].Caption:='id';ListView1.Columns.Items[1].Caption:='type';ListView1.Columns.Items[2].Caption:='title';ListView1.Columns.Items[2].Width:=300;Listview1.ViewStyle:=vsreport;Listview1.GridLines:=true; //注:此处代码也可以直接在可视化编辑器中完成, 也可写成以下这样beginwith listview1 dobeginColumns.Add;Columns.Add;Columns.Add;ViewStyle:=vsreport;GridLines:=true;columns.items[0].caption:='进程名';columns.items[1].caption:='进程ID';columns.items[2].caption:='进程文件路径';Columns.Items[0].Width:=100;Columns.Items[1].Width:=100;Columns.Items[2].Width:=150;endend;//增加记录with listview1.items.add dobegincaption:='1212';subitems.add('hh1');subitems.add('hh2');end;//删除listview1.items.delete(0);//从数据库表里读取数据写入ListviewTitem:Tlistitem; //此处一定要预定义临时记录存储变量.beginListView1.Items.Clear;with adoquery1 dobeginclose;sql.Clear;sql.Add('select spmc,jg,sl from kcxs');Open;ListView1.Items.Clear;while not eof dobeginTitem:=ListView1.Items.add;Titem.Caption:=FieldByName('spmc').Value;Titem.SubItems.Add(FieldByName('sl').Value);Titem.SubItems.Add(FieldByName('jg').Value);next;end;//删除ListView1.DeleteSelected;//如何取得ListView中选中行的某一列的值procedure TForm1.Button2Click(Sender: TObject);beginShowMessage(ListView1.Selected.SubItems.Strings[1]); //返回选中行第三列中的值end;showMessage(listView1.Selected.Caption); //返回选中行第一列的值.第1列的值:-->>> ListView1.Selected.Caption第i列的值(i>1):-->>> ListView1.Selected.SubItems.Strings[i]ListView1.Items.Item[1].SubItems.GetText); //取得listview某行某列的值Edit2.Text := listview1.Items[i].SubItems.strings[0]; //读第i行第2列返回选中行所有子列值.是以回车符分开的,你还要从中剥离出来你要的子列的值。

C#—向ListView控件添加搜索功能

C#—向ListView控件添加搜索功能

C#—向ListView控件添加搜索功能ListView控件有两种不同的方式提供搜索功能:文本匹配和位置搜索,即使用ListView控件的FindItemWithText方法和FindNearestItem方法来实现。

FindItemWithText方法允许在处于列表或详细信息视图的ListView上执行文本搜索,要求给定搜索字符串和可选的起始和结束索引。

FindNearestItem方法允许在处于图标或平铺视图的ListView中查找项,要求给定一组X坐标和Y坐标以及一个搜索方向。

下面的实例演示使用FindItemWithText方法来搜索。

(1)创建一个ListView,View属性设置为Details或List,然后用项填充该ListView。

(2)调用FindItemWithText方法,向其传递要查找的项文本。

下面小编给出大家主要代码:Private void textBox1_TextChanged(object sender,EventArgs e){ListViewItemfoundItem=listView1.FindItemWithText(textBox1.Text,false,0,true);If(foundItem!=null){listView1.TopItem=foundItem;listView1.FindItemWithText(textBox1.Text,false,0,true).BackColor=Color.Beige ;}Else{MessageBox.Show(“没有找到信息”);textBox1.Text=””;}}下面的实例演示使用FindNearestItem方法来搜索。

(1)创建一个ListView,View属性设置为Details或List,然后用项填充该ListView。

(2)调用FindItemWithText方法,向其传递要查找的项的文本。

C#ListView用法详解

C#ListView用法详解

C#ListView用法详解一、ListView类1、常用的基本属性:(1)FullRowSelect:设置是否行选择模式。

(默认为false) 提示:只有在Details视图该属性才有意义。

(2)GridLines:设置行和列之间是否显示网格线。

(默认为false)提示:只有在Details视图该属性才有意义。

(3)AllowColumnReorder:设置是否可拖动列标头来对改变列的顺序。

(默认为false)提示:只有在Details视图该属性才有意义。

(4)View:获取或设置项在控件中的显示方式,包括Details、LargeIcon、List、SmallIcon、Tile(默认为 LargeIcon)(5)MultiSelect:设置是否可以选择多个项。

(默认为false)(6)HeaderStyle:获取或设置列标头样式。

Clickable:列标头的作用类似于按钮,单击时可以执行操作(例如排序)。

NonClickable:列标头不响应鼠标单击。

None:不显示列标头。

(7)LabelEdit:设置用户是否可以编辑控件中项的标签,对于Detail视图,只能编辑行第一列的内容。

(默认为false)(8)CheckBoxes:设置控件中各项的旁边是否显示复选框。

(默认为false)(9)LargeImageList:大图标集。

提示:只在LargeIcon视图使用。

(10)SmallImageList:小图标集。

提示:只有在SmallIcon视图使用。

(11)StateImageList:图像蒙板。

这些图像蒙板可用作LargeImageList和SmallImageList图像的覆盖图,这些图像可用于指示项的应用程序定义的状态。

(暂时不大懂)(12)SelectedItems:获取在控件中选定的项。

(13)CheckedItems:获取控件中当前复选框选中的项。

(14)Soritng:对列表视图的项进行排序。

C#中ListView控件实现窗体代码

C#中ListView控件实现窗体代码

C#中ListView控件实现窗体代码废话不多说了,直接给⼤家贴关键代码了。

具体代码如下所⽰:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace WindowsFormsApplication1{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){//设置该listview关联的imagelistrgeImageList = imageList2;listView1.SmallImageList = imageList1;//显⽰详细信息listView1.View = View.Details;//添加组ListViewGroup lg1 = new ListViewGroup();lg1.Header = "⼀组"; = "one";listView1.Groups.Add(lg1);ListViewGroup lg2 = new ListViewGroup();lg2.Header = "⼆组"; = "two";listView1.Groups.Add(lg2);//添加列listView1.Columns.Add("代号");listView1.Columns.Add("姓名");listView1.Columns.Add("⽣⽇");//选中整⾏listView1.FullRowSelect = true;//显⽰checkboxlistView1.CheckBoxes = true;//添加项,listview每⼀条数据称为⼀项InfoDA da = new InfoDA();List<Info> list = da.Select();foreach (Info data in list){//造主项ListViewItem zhuxiang = new ListViewItem();zhuxiang.Text = data.Code;zhuxiang.ImageIndex = 0;zhuxiang.Group = listView1.Groups[0];//造⼦项ListViewItem.ListViewSubItem zi1 = new ListViewItem.ListViewSubItem();zi1.Text = ;zhuxiang.SubItems.Add(zi1);ListViewItem.ListViewSubItem zi2 = new ListViewItem.ListViewSubItem();zi2.Text = data.Birthday.ToString("yyyy-MM-dd"); ;zhuxiang.SubItems.Add(zi2);//添加项listView1.Items.Add(zhuxiang);}foreach (Info data in list){//造主项ListViewItem zhuxiang = new ListViewItem();zhuxiang.Text = data.Code;zhuxiang.ImageIndex = 1;zhuxiang.Group = listView1.Groups[1];//造⼦项ListViewItem.ListViewSubItem zi1 = new ListViewItem.ListViewSubItem();zi1.Text = ;zhuxiang.SubItems.Add(zi1);ListViewItem.ListViewSubItem zi2 = new ListViewItem.ListViewSubItem();zi2.Text = data.Birthday.ToString("yyyy-MM-dd"); ;zhuxiang.SubItems.Add(zi2);//添加项listView1.Items.Add(zhuxiang);}}private void button1_Click(object sender, EventArgs e){listView1.View = View.Details;}private void button2_Click(object sender, EventArgs e){listView1.View = rgeIcon;}private void button3_Click(object sender, EventArgs e){listView1.View = View.SmallIcon;}private void button4_Click(object sender, EventArgs e){if (listView1.SelectedItems.Count > 0){MessageBox.Show(listView1.SelectedItems[0].Text);}}private void button5_Click(object sender, EventArgs e){//listView1.CheckBoxes = true;}private void button6_Click(object sender, EventArgs e){string s = "";foreach (ListViewItem item in listView1.CheckedItems){s += item.Text+"--";}MessageBox.Show(s);}}}以上所述是⼩编给⼤家介绍的C#中ListView控件实现窗体代码,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。

C#ListView用法

C#ListView用法

C#ListView⽤法ListView是个较为复杂的控件1.定义把它拽进来,系统会⾃动在Designer.cs⾥添加⼀个 this.listView1 = new System.Windows.Forms.ListView();2.初始化,确定模式,确定列InitializeComponent()⾥系统⾸先⾃动完成对它的初始化操作⽽⽤户⾃定义的初始化操作我建议写在Form构造函数⾥跟在InitializeComponent()后⾯。

原因是⼀旦listView有变动,系统⾃动调整InitializeComponent()内容,可能会⾃动删除掉⽤户写的部分。

this.listView1.Columns.Add("学⽣序号");this.listView1.Columns.Add("学⽣姓名");this.listView1.Columns.Add("学⽣学号");这些是主要的,确定⼀共⼏个列this.listView1.View = System.Windows.Forms.View.Details;如果不写这句,那么加的列压根显⽰不出来。

必须写。

我们先研究Details模式下的ListView⽤法,要这样对listView的View属性赋值。

很多教程都直接写this.listView1.View =View.Details;System.Windows.Forms.View是个枚举 public enum View;LargeIcon每个项都显⽰为⼀个最⼤化图标,在它的下⾯有⼀个标签。

Details每个项显⽰在不同的⾏上,并带有关于列中所排列的各项的进⼀步信息。

最左边的列包含⼀个⼩图标和标签,后⾯的列包含应⽤程序指定的⼦项。

列显⽰⼀个标头,它可以显⽰列的标题。

⽤户可以在运⾏时调整各列的⼤⼩。

SmallIcon每个项都显⽰为⼀个⼩图标,在它的右边带⼀个标签。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C#中的ListView控件实例教程ListView可以通过四种不同的方式显示条目。

1.只能给ListV iew控件添加基于ListViewItem类的对象; 2.ListViewItems属性:设置用于显示的属性;3.SubItems()方法:包含详细视图中显示的文本; 4.V iew属性:设置以下ListView可以通过四种不同的方式显示条目。

1.只能给ListView控件添加基于ListViewItem类的对象;2.ListV iewItems属性:设置用于显示的属性;3.SubItems()方法:包含详细视图中显示的文本;4.View属性:设置以下四种显示方式:Details:详细信息;List:列表;LargeIcon:大图标;SmallIcon:小图标。

5.Details视图需要为Columns属性使用Add()方法添加列。

例一:namespace ListViewExercise{public partial class Form1 : Form{public Form1(){InitializeComponent();ListViewSet();CreateViewItemMethodOne();//CreateViewItemMethodTow();}/// <summary>/// ListView 设置/// </summary>private void ListViewSet(){//ListView显示方式listViewControl.View = V iew.Details;}/// <summary>/// //手动填加ListV iew方法1/// </summary>private void CreateViewItemMethodOne(){listViewControl.BeginUpdate();#region 增加Item的标题,共有三个列//1、创建标题listViewControl.Columns.Add("文件名");listViewControl.Columns.Add("大小");listViewControl.Columns.Add("创建日期");#endregion#region 手动填加ListView方法//2、增加第一个Item,在V iew.Details模式下,有点像第一列中一个值listViewControl.Items.Add("folder1","文件夹1",0);//3、增加第一个Item的第一个SubItem,在V iew.Details模式下,有点像第一列中一个值listViewControl.Items["folder1"].SubItems.Add("11");//增加第一个Item的第二个SubItem,在V iew.Details模式下,有点像第一列中一个值listViewControl.Items["folder1"].SubItems.Add("20080114");listViewControl.Items.Add("folder2","文件夹2",0);listViewControl.Items["folder2"].SubItems.Add("21");listViewControl.Items["folder2"].SubItems.Add("20080115");listViewControl.Items.Add("文件夹3");listViewControl.Items.Add("文件夹4");#endregionlistViewControl.EndUpdate();}/// <summary>/// 手动填加ListView方法2/// </summary>private void CreateViewItemMethodTow(){#region 增加Item的标题,共有三个列//1、创建标题,共三列listViewControl.Columns.Add("文件名");listViewControl.Columns.Add("大小");listViewControl.Columns.Add("创建日期");#endregionlistViewControl.BeginUpdate();#region 增加第一个Item//2、定义一个ListViewItem,在V iew.Details模式下,有点像第一列中一个值ListViewItem lvItem;//3、定义ListViewSubItem,在V iew.Details模式下,有点像第二列中一个值ListViewItem.ListV iewSubItem lvSubItem;//实列化一个Item,在V iew.Details模式下,有点像加第一行的第一个值lvItem = new ListViewItem();//Item的显示的文字lvItem.Text = "文件夹1";//4、Item增加到ListView控件中,即增加第一行。

在V iew.Details模式下,有点像增加了第一个项目的第一列的第一个值listViewControl.Items.Add(lvItem);//实例化SubItemlvSubItem = new ListViewItem.ListViewSubItem();lvSubItem.Text = "10";//5、将SubItem增加到第一个Item中,在V iew.Details模式下,有点像增加了第一个项目的第二列的第一个值lvItem.SubItems.Add(lvSubItem);lvSubItem = new ListViewItem.ListViewSubItem();lvSubItem.Text = "20080114";//将SubItem增加到第一个Item中,在V iew.Details模式下,有点像增加了第一个项目的第三列的第一个值lvItem.SubItems.Add(lvSubItem);#endregion#region 增加第二个ItemlvItem = new ListViewItem();lvItem.Text = "文件夹2";lvSubItem = new ListViewItem.ListViewSubItem();lvSubItem.Text = "20";lvItem.SubItems.Add(lvSubItem);lvSubItem = new ListViewItem.ListViewSubItem();lvSubItem.Text = "20080115";lvItem.SubItems.Add(lvSubItem);listViewControl.Items.Add(lvItem);#endregionlistViewControl.EndUpdate();}}}ListView可以通过四种不同的方式显示条目。

1.只能给ListV iew控件添加基于ListViewItem类的对象; 2.ListViewItems属性:设置用于显示的属性;3.SubItems()方法:包含详细视图中显示的文本; 4.V iew属性:设置以下例二例2:得到指定文件夹下的文件夹及文件名列表。

如下图:代码:using System.IO;namespace ListViewExercise{public partial class Form1 : Form{public Form1(){InitializeComponent();ListViewSet();GetFolderTreeV iew(@"c:\");}/// <summary>/// ListView 设置/// </summary>private void ListViewSet(){//ListView显示方式listViewControl.View = V iew.Details;//项目的双击事件listViewControl.ItemActivate += new EventHandler(listViewControl_ItemActivate);//返回按钮的事件btnReturn.Click+=new EventHandler(btnReturn_Click);}/// <summary>/// 得到目录中的内容/// </summary>private void GetFolderTreeView(string asPath){listViewControl.Clear();#region 增加Item的标题,共有三个列//创建标题,共三列listViewControl.Columns.Add("文件名");listViewControl.Columns.Add("大小");listViewControl.Columns.Add("创建日期");#endregion//开始更新listViewControl.BeginUpdate();DirectoryInfo diInfo = new DirectoryInfo(asPath);DirectoryInfo[] dirs = diInfo.GetDirectories();FileInfo[] fiInfo = diInfo.GetFiles();ListViewItem lviItem;ListViewItem.ListV iewSubItem lviSubItem;foreach (DirectoryInfo di in dirs){lviItem = new ListViewItem();lviItem.Text = ;//得到文件夹的路径lviItem.Tag = di.FullName;lviSubItem = new ListViewItem.ListV iewSubItem();//文件夹没有大小lviSubItem.Text = "";lviItem.SubItems.Add(lviSubItem);lviSubItem = new ListViewItem.ListV iewSubItem();lviSubItem.Text = di.CreationTime.ToString();lviItem.SubItems.Add(lviSubItem);listViewControl.Items.Add(lviItem);}foreach (FileInfo fi in fiInfo){lviItem = new ListViewItem();lviItem.Text = ;lviSubItem = new ListViewItem.ListV iewSubItem();lviSubItem.Text = fi.Length.ToString();lviItem.SubItems.Add(lviSubItem);lviSubItem = new ListViewItem.ListV iewSubItem();lviSubItem.Text = fi.CreationTime.ToString();lviItem.SubItems.Add(lviSubItem);listViewControl.Items.Add(lviItem);}//结束更新listViewControl.EndUpdate();}/// <summary>/// 定义变量存放路径/// </summary>string sfileName = "";/// <summary>/// 项目的双击事件/// </summary>/// <param name="sender"></param>/// <param name="e"></param>void listViewControl_ItemActivate(object sender, EventArgs e) {ListView lvControl = (ListView)sender;sfileName = lvControl.SelectedItems[0].Tag.ToString();if (lvControl.SelectedItems[0].Tag.ToString() == ""){try{System.Diagnostics.Process.Start(sfileName);}catch{return;}}else{GetFolderTreeV iew(sfileName);}}/// <summary>/// 返回上一级/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btnReturn_Click(object sender, EventArgs e){/*原理:得到路径,然后截取最后一个"\"之前的路径,并将其路径赋给你路径变量。

相关文档
最新文档