怎样使用C的listview控件【listview控件】

一、如何让C#中listview控件显示多行多列数据?

1、打开wps想要在手机上做PPT,你得先有wps软件,所以没有的可以先下载一个,小编认为这个比较好用。

2、然后打开wps,如下图。

二、怎样使用C#的listview控件

1、逗号运含正算符(,)是C语言运算符中优先级低的一种运算升慧符,结合顺序是从左谈笑悔至右,用来顺序求值(后一个逗号后面表达式的值作为整个表达式的值)。

三、VC中listview控件怎么使用(C语言)

1、在VC中listvuew这个控件怎么用啊,是listviewListView控件可使用四种不同视图显示项目。

2、通过此控件,可将项目组成芦凯带有或不带有列标头的列,并显示伴随的图标和文本。

3、可使用ListView控件将称作ListItem对象的列表条目组织成下列四种不同的视图之大宏蚂(标准)图标小图标列表报表View属性决定在列表中控件使用何种视图显示项目。

4、还可用LabelWrap属性控制列表中与项目关联的标签是否可换行显示。

5、另外,还可管理列表中项目的排序方法和选定蔽哗埋项目的外观。

四、怎样使用C#的listview控件

1、ListView我认为是种数据型的控件,以装载和展示数据为目的,当然也能展示图片,这个功能没有试过。

2、这里讲一下ListView的第一次使用后的一些小结。

3、  ListView一些设置与添加字段。

4、Lv1=newListView()//实例化  LvGridLines=truefile、//显示各个记录的分隔线  LvFullRowSelect=truefile、//要选择就是一行  LvView=View.Detailsfile、//定义列表显示的方式  LvScrollable=truefile、//需要时候显示滚动条  LvMultiSelect=false//不可以多行选择  listViewItems.Remove(listViewSelectedItems(0))//这样可以在ListView中删除选择的行  LvHeaderStyle=ColumnHeaderStyle.Nonclickable//针对数据库的字段名称,建立与之适应显示表头    设置列名称、LvColumns.Add("A",60,HorizontalAlignment.Right)  LvColumns.Add("B",100,HorizontalAlignment.Left)  LvColumns.Add("C",100,HorizontalAlignment.Left)  LvVisible=true    用循环把数据插入进ListView,用reader方法读取中括号中的字段名。

5、lvItems.Clear()//清空lv1中的记录  ListViewItemli=newListViewItem()  li.SubItems.Clear()//清空每行数据的每一列数据。

6、foreach(DataRowreaderinstu.Rows)//前提是stu有数据,stu是DataTable  {  ListViewItemitem=newListViewItem((reader("EMP_NO")).ToString())  item.SubItems.Add(reader("NAME").ToString())  item.SubItems.Add(reader("ID").ToString())  this.lvItems.Add(item)  }  接下来说说Listview中的一些小技巧。

7、鼠标选中一行记录,如何读取那行记录中的某列记录??  很简单用这句话、lvSelectedItems(0).SubItems(0).Text    SelectedItems(0)指的是你选中的行,如果你选中的是多行,那么第一行中括号里就是0,第二行就是以此类推。

8、SubItems(0)指的是你选中的列,第一列中括号里就是0,第二行就是以此类推。

9、  Listview中双击记录事件。

10、在.cs文件里写、privatevoidlv1_DoubleClick(objectsender,EventArgse)//双击listview  {  //这里写你想要产生的事件。

11、例如、MessageBox.Show("OK")  }  在.Designer.cs文件里找到相关的控件代码写入如下信息、this.lvDoubleClick+=newSystem.EventHandler(this.lv1_DoubleClick)  例如、//lv1  //  this.lvLocation=newSystem.Drawing.Point(-3,98)  this.lvName="lv1"  this.lvSize=newSystem.Drawing.Size(1018,527)  this.lvTabIndex=28  this.lvUseCompatibleStateImageBehavior=false  this.lvView=System.Windows.Forms.View.Details  this.lvDoubleClick+=newSystem.EventHandler(this.lv1_DoubleClick)  Listview隐藏列  有时候用Listview会遇到这样的麻烦。

12、众所周知主键是区分每条不同记录可靠的方法,一旦主键不显示在Listview中,那选中Listview某一行也就意味着在这一行中取不到这条记录的主键,只能取到其他显示的字段,那如何把这条记录传递给其他窗口呢?用其他字段?如果是这样的话就风险太大了,因为其他字段会有重复的可能,这样的程序就会出现BUG。

13、这时候就该发挥隐藏列的作用了,隐藏列方便使用,其作用是在前台页面看不出有那条主键的字段,但是在代码控制中却包含了这个字段,我们点击某一条记录时就能方便的获取这条记录的主键字段,这样只要把这字段字符传到其他窗体就没问题了,因为主键字段是且不能为空的。

14、下面说说具体实现方法。

15、LvColumns.Add("A",60,HorizontalAlignment.Right)  LvColumns.Add("B",100,HorizontalAlignment.Left)  LvColumns.Add("C",100,HorizontalAlignment.Left)  LvVisible=true    foreach(DataRowreaderinstu.Rows)//前提是stu有数据,stu是DataTable  {  ListViewItemitem=newListViewItem((reader("EMP_NO")).ToString())  item.SubItems.Add(reader("NAME").ToString())  item.SubItems.Add(reader("ID").ToString())  item.SubItems.Add(reader("PrimaryKey").ToString())  this.lvItems.Add(item)  }  红色的是列的标题,白色的是循环输出每一行数据,这样可以很明显的看出,只有3列,却插入了4列的数据,而后一列就是主键,而显示是也只有3列,那有人会问了,既然第四列没有显示,如何去第四列的数据呢?  也是同样的代码、lvSelectedItems(0).SubItemsText  这个3显示的就是第四列的数据,因为计算机是从0开始计数的,很简单吧!  namespaceListViewExercise  {  publicpartialclassFormForm  {  publicForm1()  {  InitializeComponent()  ListViewSet()  CreateViewItemMethodOne()  //CreateViewItemMethodTow()  }  ///ListView设置  privatevoidListViewSet()  {  //ListView显示方式  listViewControl.View=View.Details  }  /////手动填加ListView方法1  privatevoidCreateViewItemMethodOne()  {  listViewControl.BeginUpdate()  #region增加Item的标题,共有三个列  //创建标题  listViewControl.Columns.Add("文件名")  listViewControl.Columns.Add("大小")  listViewControl.Columns.Add("创建日期")  #endregion  #region手动填加ListView方法  //增加第一个Item,在View.Details模式下,有点像第一列中一个值  listViewControl.Items.Add("folder1","文件夹1",0)  //增加第一个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")  #endregion  listViewControl.EndUpdate()  }  ///手动填加ListView方法2  privatevoidCreateViewItemMethodTow()  {  #region增加Item的标题,共有三个列  //创建标题,共三列  listViewControl.Columns.Add("文件名")  listViewControl.Columns.Add("大小")  listViewControl.Columns.Add("创建日期")  #endregion  listViewControl.BeginUpdate()  #region增加第一个Item  //定义一个ListViewItem,在View.Details模式下,有点像第一列中一个值  ListViewItemlvItem  //定义ListViewSubItem,在View.Details模式下,有点像第二列中一个值  ListViewItem.ListViewSubItemlvSubItem  //实列化一个Item,在View.Details模式下,有点像加第一行的第一个值  lvItem=newListViewItem()  //Item的显示的文字  lvItem.Text="文件夹1"  //Item增加到ListView控件中,即增加第一行。

16、在View.Details模式下,有点像增加了第一个项目的第一列的第一个值  listViewControl.Items.Add(lvItem)    //实例化SubItem  lvSubItem=newListViewItem.ListViewSubItem()  lvSubItem.Text="10"  //将SubItem增加到第一个Item中,在View.Details模式下,有点像增加了第一个项目的第二列的第一个值  lvItem.SubItems.Add(lvSubItem)  lvSubItem=newListViewItem.ListViewSubItem()  lvSubItem.Text="20080114"  //将SubItem增加到第一个Item中,在View.Details模式下,有点像增加了第一个项目的第三列的第一个值  lvItem.SubItems.Add(lvSubItem)  #endregion  #region增加第二个Item  lvItem=newListViewItem()  lvItem.Text="文件夹2"  lvSubItem=newListViewItem.ListViewSubItem()  lvSubItem.Text="20"  lvItem.SubItems.Add(lvSubItem)  lvSubItem=newListViewItem.ListViewSubItem()  lvSubItem.Text="20080115"  lvItem.SubItems.Add(lvSubItem)  listViewControl.Items.Add(lvItem)  #endregion  listViewControl.EndUpdate()  }    //第三种自己的方法,挺有效的,简单的  privatevoidCreateViewItems()  {  listViewBeginUpdate()  listViewColumns.Add("矩阵控制命令")  listViewColumns.Add("功能描述")  listViewColumns(0).Width=145  listViewColumnsWidth=515  listViewItems.Add("/%Lock")  listViewItems(0).SubItems.Add("锁定键盘")  listViewItems.Add("/%Unlock")  listViewItemsSubItems.Add("解开键盘的锁定")  listViewItems.Add("/Version")  listViewItemsSubItems.Add("查询软件版本")  listViewItems.Add("/、BellOff")  listViewItemsSubItems.Add("关闭蜂鸣器")  listViewEndUpdate()  }  }  }。

五、VC6.0 使用listview控件,用的是C语言 不是C++。API函数的使用成功却没有效果

1、试试updatedata(false)吧,更新界族液面的数据,还有你上边的代码不全,没法看出你这个代码在MFC框念橡架的那里执兆高物行,这个和执行的顺序和事件也有关系。

六、如何从C#中获取ListView中选中某一行某一列的值

1、试试updatedata(false)吧,更新界族液面的数据,还有你上边的代码不全,没法看出你这个代码在MFC框念橡架的那里执兆高物行,这个和执行的顺序和事件也有关系。

七、vb 使用ListView控件显示文件夹内容

1、试试updatedata(false)吧,更新界族液面的数据,还有你上边的代码不全,没法看出你这个代码在MFC框念橡架的那里执兆高物行,这个和执行的顺序和事件也有关系。

八、如何用鼠标拖动选中listview的多行c

1、用下面的方法就可以privatevoidform1_load(objectsender,eventargse){listviewview=view.detailslistviewfullrowselect=true}privatevoidlistview1_mousemove(objectsender,mouseeventargse){booliscontains=falsefor(inti=0i九、如何自绘ListView表头

1、TlistView控件是vcl对windows公用控件库的一个封装用户TlistView控件并未提供自绘表头的事件一般情况下要想自绘表头比较困难但是windows所有控件的绘制都是由于消息WM_PAINT的产生而由窗口过程来绘制的这样我们似乎就有可能通过WM_PAINT消息能够绘制TlistView表头经过分析发现TlistView的组成实际上包括了两部分一部分是TlistView本省另外一部分就是TlistView的表头该表头实际上是一个嵌入TlistView里面的独立的窗口该窗口的类名为SysHeader(可以使用ccrun写的窗口探测工具spywin观察的到)综合上述依据实现TlistView表头的自绘可以分为一下几个步骤、查找TlistView的表头窗口句柄  替换表头窗口的窗口过程  表头的WM_PAINT消息  在窗口过程中编写绘制代码  这样就能绘制TlistView的表头了具体实现方式如下、查找表头有三种方式  一使用FindWindowEx、以类名SysHeader来查找TlistView的子窗口由于TlistView只有一个名为SysHeader的子窗口(就是表头)所以一定能够获取到表头窗口的句柄  二使用windows提供的帮助宏ListView_GetHeader  这种方式实际上是通过发送消息来获取表头句柄返回值即表头句柄  替换表头的窗口过程  使用SetWindowLong这个API就可以替换掉一个窗口的窗口过程(详细步骤请参看MSDN)  请参看示例代码  请参看示例代码  具体代码  h文件//  #ifndefUnitH#defineUnitH//#include#include#include#include#include  //classTForm、publicTForm{__published、//IDEmanagedComponentsTListView*ListView  private、//Userdeclarationspublic、//Userdeclarations__fastcallTForm(TComponent*Owner)__fastcall~TForm()}  //externPACKAGETForm*Form//#endif  cpp文件//  #include#pragmahdrstop  #includeUnith//#pragmapackage(***art_init)#pragmaresource*dfmTForm*FormtypedefLRESULT(CALLBACK*TCallBack)(HWNDUINTWPARAMLPARAM)  TCallBackg_oldListViewWndProcHWNDg_hListViewHeader  LRESULTCALLBACKListViewWindowProc(HWNDhwndUINTuMsgWPARAMwParamLPARAMlParam){PAINTSTRUCTps={}RECTrect={}HDChPen=NULLHDChBrush=NULLintiCount=inti=BYTEred=green=blue=BYTEred=green=blue=BYTEredgreenblueintjmn  switch(uMsg){caseWM_PAINT、BeginPaint(g_hListViewHeaderhPen=SelectObject(pshdcGetStockObject(DC_PEN))iCount=Header_GetItemCount(g_hListViewHeader)//获取表头数目//本文转自C++Builder研究?i=SetDCPenColor(pshdcColorToRGB((TColor)(xEFDBCE)))red=GetRValue((TColor)(xEFDBCE))green=GetGValue((TColor)(xEFDBCE))blue=GetBValue((TColor)(xEFDBCE))for(inti=iFont>Handle)i=((rectbottomrecttop)abs(Form>Font>Height))/hBrush=SelectObject(pshdcGetStockObject(NULL_BRUSH))SetBkMode(pshdcTRANSPARENT)//这是设置背景为透明的TextOut(pshdcrectleft+recttop+iForm>ListView>Columns>Items(i)>Captionc_str()Form>ListView>Columns>Items(i)>CaptionLength())SelectObject(pshdchBrush)}hPen=SelectObject(pshdchPen)EndPaint(g_hListViewHeaderbreakdefault、returnCallWindowProc((FARPROC)g_oldListViewWndProcg_hListViewHeaderuMsgwParamlParam)}  return}  //__fastcallTForm、、TForm(TComponent*Owner)、TForm(Owner){g_hListViewHeader=FindWindowEx(ListView>HandleNULLSysHeaderNULL)g_oldListViewWndProc=(TCallBack)GetWindowLong(g_hListViewHeaderGWL_WNDPROC)SetWindowLong(g_hListViewHeaderGWL_WNDPROClong(ListViewWindowProc))}lishixinzhi/Article/program/c/201311/11101。

转载请注明出处阿文说说网 » 怎样使用C的listview控件【listview控件】