VC++中 ListBox(列表框)的使用

合集下载

VC MFC列表框(CListBox)控件

VC MFC列表框(CListBox)控件

列表框控件简单应用重复性的过程我就不详细讲明了,只给出类里面函数的解释。

int CListBox::AddString( LPCTSTR lpszItem );//添加一个项,lpszItem是项文本内容int CListBox::InsertString( int nIndex, LPCTSTR lpszItem );//同上,只不过这个可以指定项位置(索引),由参数nIndex指定int CListBox::GetCurSel( ) const;//获取当前选中项的索引,函数返回索引值int CListBox::GetText( int nIndex,CString &rString ) const;//根据索引获得项文本int CListBox::GetCount( ) const;//获取项数量void CListBox::ResetContent( );//删除列表框所有的项int CListBox::DeleteString( UINT nIndex );//根据项索引从列表框删除一个项int CListBox::SetItemHeight( int nIndex, UINT cyItemHeight );//设置一个项的高度,注意:列表框具有//LBS_OWNERDRAWVARIABLE风格才可以单独设置一个项的高度,否则是所有项的高度自绘列表框这里自绘要达到的效果,就是简单模仿一下QQ界面里类似列表框控件的那种效果,先往对话框里添加列表框控件.然后再改一下列表框的属性,所有者绘制项选择固定,有字符串前面打上勾.接着准备两张位图,一张用于列表框的背景,一张用于项选中时的背景,ID号分别为:IDB_BK、IDB_SELECTED如下两张位图:再导入五张位图(QQ头像),ID号保持默认不变。

从CListBox派生出子类CNewListBox,往CNewListBox添加一个函数,用于画位图,函数如下:void CNewListBox::DrawBK(CDC *pDC, CRect rect, UINT uIDBK){CDC memDC;memDC.CreateCompatibleDC(pDC);//兼容DCCBitmap bmp;bmp.LoadBitmap(uIDBK);//加载位图BITMAP bmpInfo;bmp.GetBitmap(&bmpInfo);//获取位图信息memDC.SelectObject(&bmp);//选入位图pDC->StretchBlt(rect.left,rect.top,rect.Width(),rect.Height(),&memDC,0,0,bmpInfo.bmWidth,bmpInfo.bmHeight,SRCCOPY);bmp.DeleteObject();memDC.DeleteDC();}然后给CNewListBox添加WM_ERASEBKGND消息处理函数,这个消息是系统擦除背景时产生。

C#Listbox用法

C#Listbox用法

C# Listbox用法1. 属性列表:SelectionMode 组件中条目的选择类型,即多选(Multiple)、单选(Single) Rows 列表框中显示总共多少行Selected 检测条目是否被选中SelectedItem 返回的类型是ListItem,获得列表框中被选择的条目Count 列表框中条目的总数SelectedIndex 列表框中被选择项的索引值Items 泛指列表框中的所有项,每一项的类型都是ListItem2. 取列表框中被选中的值ListBox.SelectedValue3. 动态的添加列表框中的项:ListBox.Items.Add("所要添加的项");4. 移出指定项://首先判断列表框中的项是否大于0If(ListBox.Items.Count > 0 ){//移出选择的项ListBox.Items.Remove(ListBox.SelectedItem);}5. 清空所有项://首先判断列表框中的项是否大于0If(ListBox.Items.Count > 0 ){//清空所有项ListBox.Items.Clear();}6. 列表框可以一次选择多项:只需设置列表框的属性SelectionMode="Multiple",按Ctrl可以多选7. 两个列表框联动,即两级联动菜单//判断第一个列表框中被选中的值switch(ListBox1.SelectValue){//如果是"A",第二个列表框中就添加这些:case "A"ListBox2.Items.Clear();ListBox2.Items.Add("A1");ListBox2.Items.Add("A2");ListBox2.Items.Add("A3");//如果是"B",第二个列表框中就添加这些:case "B"ListBox2.Items.Clear();ListBox2.Items.Add("B1");ListBox2.Items.Add("B2");ListBox2.Items.Add("B3");}8. 实现列表框中项的移位即:向上移位、向下移位具体的思路为:创建一个ListBox对象,并把要移位的项先暂放在这个对象中。

(9)列表框(ListBox)

(9)列表框(ListBox)

(九)列表框(ListBox)为用户提供选项列表,可选一项或多项,但不能进行类似文本框的编辑修改。

项目数超出列表框显示的范围,会自动添加垂直滚动条(若是多列列表,可添加水平滚动条)。

无下拉按钮。

一、列表框的属性:1.Name属性:2.Text属性:(编程用)总是对应用户在运行时选定的列表项目的内容。

3.ListIndex属性:(编程用)(1)设置列表框中当前要选用的项目,相当于触发Click事件。

(2)返回列表框中当前选中项目的索引值:第一项为0,第二项为1……未选中为– 14.NewIndex属性:(编程用)始终定位在最后一个添加到列表中的项目的索引值。

5.List属性:(编程用)本属性包括项目全部组成的一个数组,以下标来区分每一个项目元素,引用格式为:<控件名>.List(<索引值>)6.ListCount属性:(编程用)返回列表框中项目的总数(最大索引值 + 1)。

7.Sorted属性:选True时,自动按字母顺序排序。

(缺省值为False)8.Selected(索引值)属性:(编程用)返回值为True时,表示索引值所指的项目被选中。

9.Style属性:0:表示只能单选(默认值)1:表示可选多项10.MultiSelect属性:0:表示只能单选1:可用鼠标单击方式选多项2:可用 <Ctrl> + 单击或 <Shift> + 单击的方式选多项二、列表框的事件和方法:1.Click事件:2.Dblchick事件:注:程序中常应考虑到双击某一项目的效果,应和单击该项目后再单击一命令按钮(如“确定”)的效果相同。

(方法是:将<命令按钮名>_Click 或 <命令按钮名>.Value=True 的语句放入双击列表的事件过程中。

)3.AddItem方法:(1)向列表中添加项目,引用格式为:<列表框名>.AddItem <项目字符串表达式> [,<索引值>](2)说明:①本方法通常用在Form_Load()事件的过程中。

c#listbox使用详解和常见问题解决

c#listbox使用详解和常见问题解决

常⽤属性说明Items 指列表中所有的条⽬集合,是⼀个数组集合。

可以通过该属性,对列表进⾏增添、移除或获取列表内容MultiColumn⽤来设置或获取⼀个值(bool 值),表⽰是否允许多列显⽰,true 表⽰多列,false 表⽰单列,默认为false 。

CoumnWidth ⽤来获取列表当前列的宽度或设置列表当前列的宽度SelectionMode 设置列表条⽬的选择⽅法。

SelectionMode.None 表⽰不允许选中SelectionMode.One 表⽰只允许⽤户选择⼀项SelectionMode.MultiExtended 表⽰允许选择多项,但选中的条⽬必定相连(相邻)SelectionMode.MultiSimple表⽰允许选择多项,可以任意选中多个条⽬。

如下图SelectedIndex *获取选中项的索引未选中任何项时,返回值为 1单选时,属性值即为选中项的索引多选时,表⽰第⼀项选定项的索引,亦可使⽤SelectedIndex[i]获取其它选中项索引,亦可让某项变成选中状态。

i 为选中项从0开始的序号。

SelectedIndeces⽤来获取选中项从0开始的索引的集合,⼀般只⽤于多项。

与SelectedIndex 相似,但SelectedIndeces 只有获取索引的能⼒。

SelectedItem 获取列表当前选中项。

注意,获取到的是列表选中项的⽂本内容,⽽SelectedIndex 和SelectedIndeces 获取的只是选中项索引(int)。

SelectedItems获取选中项的集合,使⽤SelectedItems[i]来获取选中项的⽂本内容,i 为选中项集合索引。

SelectedItems 和SelectedIndex 相似,但⼀个是获取⽂本字段,⼀个是获取索引。

c#listbox 使⽤详解和常见问题解决关于ListBoxListBox 是WinForm 中的 列表 控件,它提供了⼀个项⽬列表(⼀组数据项),⽤户可以选择⼀个或者多个条⽬,当列表项⽬过多时,ListBox 会⾃动添加滚动条,使⽤户可以滚动查阅所有选项。

列表框ListBox列表框用来列出许多项目供用户选择

列表框ListBox列表框用来列出许多项目供用户选择

若获取某列表项的文本串,可使用CListBox::GetText成员函数: 格式:void GetText(int nIndex,CString& rString); 功能:若获取某列表项的字符串。 参数: nIndex-列表项的索引。
rString-获取的字符串对象。 3.列表框的Notification消息 列表框可以向父窗口发六种Notification消息: • LBN_DBLCLK 鼠标 LBN_ERRSPACE 列表框无法分配内存时产生 • LBN_KILLFOCUS/LBN_SETFOCUS 在列表框失去/得到输入 焦点时产生 • LBN_SELCHANGE 列表框选择的项发生改变时产生 • LBN_SELCANCEL 取消当前列表框的选项时产生
2.列表框基本操作
在列表框被创建后,往往要添加、删除、改变或获取列表框中的 列表项,该操作可调用ClistBox类成员函数实现。
列表框的(列表)项可用字符串标识或用索引确定(索引表明某项 在列表框中的位置,它以0为基数,即:第一项索引为0,第二项 索引为1,。。。)。
(1)添加列表项
列表框创建时是一个空表,需要由用户添加或插入一些项。
返回:字符串在列表框中插入位置的索引。错误返回LB_ERR,空 间不足返回LB_ERRSPACE。 参数:
nIndex-指定插入字符串的索引(从0开始)。若为-1,则该串插入 到列表的尾部。
lpszItem-列表项的文本字符串。
CListBox::SetItemData成员函数: 格式:int SetItemData(int nIndex,DWORD dwItemData); 功能:设置与列表框中指定列表项相关的32位值。 返回:若出错,则返回LB_ERR。 参数: nIndex-列表项的索引 dwItemData-指定与列表项相关的32位值 CListBox::SetItemDataPtr成员函数: 格式:int SetItemDataPtr(int nIndex,void* pData); 功能:设置与列表框中指定列表项相关的指针。

listbox控件用法详解

listbox控件用法详解

listbox控件用法详解关于listbox控件的用法,下面将为大家一步一步详细解答。

一、什么是listbox控件Listbox控件是一种常用的用户界面元素,用于向用户展示一组选项,并允许用户从中选择一个或多个选项。

Listbox控件通常呈现为一个方框,在框中包含一个滚动条和一个列表,列表中的每一项称为一个列表项。

二、listbox控件的创建要创建一个listbox控件,我们需要使用相关的编程语言和GUI编程工具,例如在C#中可以使用Windows Forms或WPF,在HTML中可以使用JavaScript 或jQuery。

主要的创建步骤如下:1. 创建一个listbox控件的实例。

通常通过类的构造函数来实现,例如在C#中,可以使用ListBox类的构造函数来创建。

2. 设置listbox控件的属性。

例如,可以设置listbox控件的位置和大小、字体样式和颜色、滚动条的显示方式等。

3. 添加列表项。

通过调用listbox控件的方法,例如在C#中,可以使用Add方法向listbox控件中添加列表项。

4. 添加事件处理程序。

如果需要在用户选择某个列表项时执行相应的操作,可以添加事件处理程序。

例如,在C#中,可以使用SelectedIndexChanged事件,当用户选择了不同的列表项时触发。

三、listbox控件的常见属性和方法1. 属性:- Location:获取或设置控件的位置。

- Size:获取或设置控件的大小。

- Font:获取或设置控件的字体。

- ForeColor:获取或设置控件的前景色。

- Items:获取listbox控件中的所有列表项。

- SelectedItems:获取listbox控件中被选中的列表项。

- MultiSelect:获取或设置是否允许多选。

- SelectedIndex:获取或设置当前选中的列表项的索引。

- ScrollAlwaysVisible:获取或设置是否始终显示滚动条。

C#listbox的用法

C#listbox的用法

C#listbox的⽤法C# listbox 的⽤法(2012-12-2 10:44:33)1. 属性列表:SelectionMode组件中条⽬的选择类型:None-根本不允许任何选择;One-默认值,只选择单个选项;MultiSimple-简单的多项选择,单击⼀次⿏标就选中或取消选中列表中的⼀项;MultiExtended-扩展的多项选择,类似windows中的选择操作.SelectedItem在单选的列表框⾥, SelectedItem返回的是⼀个对象,它的⽂本由Text属性表⽰.作⽤是获得列表框中被选择的条⽬.如果控件允许多项选择,被选中的条⽬就以SelectedItems属性表⽰,它是Item对象的⼀个集合.Count列表框中条⽬的总数SelectedIndex /SelectedIndices/SelectedItem/SelectedItemsListBox.SelectedIndex属性获取单项选择ListBox中当前选定项的位置;ListBox.SelectedIndices属性获取⼀个集合,该集合包含ListBox中所有当前选定项的从零开始的索引;ListBox.SelectedItem属性获取ListBox中当前选定的项;ListBox.SelectedItems属性获取多重选择ListBox中所有选定的项,它是⼀集合。

Public ReadOnly Property SelectedIndices As ListBox.SelectedIndexCollectionListBox.SelectedIndexCollection,包含控件中当前选定项的索引。

如果当前没有选定的项,则返回空 ListBox.SelectedIndexCollection泛指列表框中的所有项2. 取列表框中被选中的值ListBox.SelectedValue3. 动态的添加列表框中的项:ListBox.Items.Add("所要添加的项");以下代码实现通过输⼊框向列表框中添加内容:Private Sub bttnAdd1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bttnAdd1.ClickDim ListItem As StringListItem = InputBox("Enter new item's name")If ListItem.Trim <> "" ThensourceList.Items.Add(ListItem)End IfEnd SubListBox.Items.Insert(index,item)item是要添加到列表的对象,index是这个新项的索引。

VC++----ListBox控件的使用

VC++----ListBox控件的使用

VC++----ListBox控件的使⽤ListBox控件的使⽤ ListBox窗户⽤来列出⼀系列的⽂本,每条则本占⼀⾏。

创建⼀个列表窗户可使⽤成员函数: BOOL CListBox::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff ); 其中dwStyle将指明该窗户的风格,除了⼦窗户常⽤的风格WS_CHILD,WS_VISIBLE外,你可以针对列表控件指明专门的风格。

LBS_MULTIPLESEL 指明列表框可以同时选择多⾏ LBS_EXTENDEDSEL 可以路程经过过程按下Shift/Ctrl键选择多⾏ LBS_SORT 所有的⾏根据字母挨次进⾏排序 在列表框天⽣后需要向其中插⼿或是删除⾏,可以利⽤: int AddString( LPCTSTR lpszItem )新增⾏, int DeleteString( UINT nIndex )删除指定⾏, int InsertString( int nIndex, LPCTSTR lpszItem )将⾏插⼊到指定位置。

void ResetContent( )可以删除列表框中所有⾏。

路程经过过程调⽤int GetCount( )获患上时下列表框中⾏的数量。

要是需要获患上/设置时下被选中的⾏,可以调⽤int GetCurSel( )/int SetCurSel(int iIndex)。

要是你指明了选择多⾏的风格,你就需要先调⽤int GetSelCount( )获患上被选中的⾏的数量,之后int GetSelItems( int nMaxItems, LPINT rgIndex )获患上所有选中的⾏,参量rgIndex为储存安放被选中⾏的数组。

路程经过过程调⽤int GetLBText( int nIndex, LPTSTR lpszText )获患上列表框内指定⾏的字符串。

vc list box 多选用法

vc list box 多选用法

vc list box 多选用法
在VC++中,ListBox是一种常用的控件,它允许用户从一个项目列表中选择一个或多个项目。

要实现ListBox的多选功能,可以按照以下步骤进行操作:
1. 设置ListBox的样式:
在设计界面或者代码中,设置ListBox的样式为
LBS_EXTENDEDSEL或者LBS_MULTIPLESEL。

LBS_EXTENDEDSEL样式允许用户通过鼠标拖动或者使用Shift键进行连续选择,
LBS_MULTIPLESEL样式允许用户通过Ctrl键进行不连续选择。

2. 处理选择事件:
当用户进行选择操作时,可以通过处理ListBox的消息来获取用户选择的项目。

可以使用LB_GETSELITEMS消息来获取用户选择的项目索引,然后进一步处理选择的项目。

3. 处理其他相关消息:
在多选的情况下,还可以处理LB_SELITEMRANGE消息来获取
用户选择的项目范围,以及LB_SETSEL消息来设置ListBox中的项
目选择状态。

4. 更新数据:
根据用户的选择,可以相应地更新数据或者执行其他操作。

可以在ListBox选择改变时触发相应的事件或者调用相应的函数来
处理选择的项目。

总之,要实现ListBox的多选功能,需要设置ListBox的样式,处理选择事件,处理其他相关消息以及更新数据。

通过这些步骤,
就可以实现ListBox的多选用法。

希望这些信息能够帮助到你。

VC_ListBox的用法

VC_ListBox的用法

VC ListBox的用法列表控件可以看作是功能增强的L i s t B o x,它提供了四种风格,而且可以同时显示一列的多中属性值。

M F C中使用C L i s t C t r l类来封装列表控件的各种操作。

通过调用B O O L C r e a t e( D W o r d d w S t y l e, c o n s t R E C T& r e c t, C W n d* p P a r e n t W n d, U I N T n I D );创建一个窗口,d w S t y l e中可以使用以下一些列表控件的专用风格:L V S_I C O N L V S_S M A L L I C O N L V S_L I S T L V S_R E P O R T这四种风格决定控件的外观,同时只可以选择其中一种,分别对应:大图标显示,小图标显示,列表显示,详细报表显示L V S_E D I T L A B E L S结点的显示字符可以被编辑,对于报表风格来讲可编辑的只为第一列。

L V S_S H O W S E L A L W A Y S在失去焦点时也显示当前选中的结点L V S_S I N G L E S E L同时只能选中列表中一项首先你需要设置列表控件所使用的I m a g e L i s t,如果你使用大图标显示风格,你就需要以如下形式调用:C I m a g e L i s t*S e t I m a g e L i s t(C I m a g e L i s t*p I m a g e L i s t,L V S I L_N O R M A L);如果使用其它三种风格显示而不想显示图标你可以不进行任何设置,否则需要以如下形式调用:C I m a g e L i s t*S e t I m a g e L i s t(C I m a g e L i s t*p I m a g e L i s t,L V S I L_S M A L L);通过调用i n t I n s e r t I t e m(i n t n I t e m,L P C T S T R l p s z I t e m);可以在列表控件中n I t e m指明位置插入一项,l p s z I t e m为显示字符。

listbox使用说明

listbox使用说明

listbox使用说明摘要:1.引言2.Listbox 的定义和用途3.Listbox 的基本属性4.Listbox 的常用方法5.Listbox 的示例代码6.结语正文:【引言】Listbox 是一种常用于计算机编程中的数据结构,它可以用于存储一系列的选项,供用户进行选择。

在本文中,我们将详细介绍Listbox 的使用方法和示例代码。

【Listbox 的定义和用途】Listbox,又称为下拉列表框,是一种用于显示一系列选项的控件。

用户可以在其中选择一个或多个选项,并将所选内容提交给程序。

Listbox 广泛应用于各种计算机程序和网页中,如文本编辑器、邮件客户端、在线调查等。

【Listbox 的基本属性】Listbox 具有以下基本属性:1.选项:Listbox 中显示的选项,由一系列字符串组成。

2.默认选项:当Listbox 为空时显示的选项。

3.选中选项:用户当前选择的选项。

4.多选:Listbox 是否允许用户选择多个选项。

5.滚动条:是否显示滚动条,以便显示更多的选项。

【Listbox 的常用方法】Listbox 的常用方法如下:1.add(item):向Listbox 中添加一个选项。

2.insert(index, item):在指定位置插入一个选项。

3.remove(item):从Listbox 中移除一个选项。

4.removeAt(index):从Listbox 中移除指定位置的选项。

5.get(index):获取指定位置的选项。

6.set(index, item):设置指定位置的选项。

7.clear():清空Listbox 中的所有选项。

【Listbox 的示例代码】下面是一个使用Python 创建Listbox 的示例代码:```pythonimport tkinter as tkdef on_select(event):selected_item = listbox.get(listbox.CURRENT)print("您选择的选项是:", selected_item)root = ()listbox = tk.Listbox(root, selectmode=tk.MULTIPLE) listbox.pack()listbox.insert(0, "选项一")listbox.insert(1, "选项二")listbox.insert(2, "选项三")listbox.bind("<<ListboxSelect>>", on_select)root.mainloop()```【结语】通过以上介绍,相信大家对Listbox 的使用已经有了基本的了解。

listbox控件的用法 -回复

listbox控件的用法 -回复

listbox控件的用法-回复【ListBox控件的用法】在Windows编程中,我们经常需要使用到各种不同的控件来实现各种功能。

其中,ListBox控件是一种非常常见的列表框控件,可以用来显示一系列选项供用户选择。

本文将详细介绍ListBox控件的用法,包括如何创建和操作ListBox控件。

1. 创建ListBox控件首先,我们需要在窗口上创建一个ListBox控件。

在Visual Studio中,我们可以直接从工具箱拖拽一个ListBox控件到窗体上,然后设置其属性。

例如,我们可以设置控件的名字、位置、大小等属性。

此外,我们还可以设置ListBox控件的一些样式属性,如字体、颜色、背景色等。

2. 添加项到ListBox控件添加项到ListBox控件是非常简单的。

我们可以通过调用ListBox控件的Items.Add方法来添加一项。

例如,我们可以这样添加一项:listBox.Items.Add("Item 1");如果我们需要添加多个项,可以连续调用Add方法,也可以一次性添加一个字符串数组:string[] items = { "Item 1", "Item 2", "Item 3" };listBox.Items.AddRange(items);3. 选中项当我们需要让ListBox控件中的某一项被选中时,可以调用ListBox控件的SetSelected方法。

该方法接受两个参数:一个是项的索引,另一个是一个布尔值,表示是否选中该项。

例如,我们可以这样选中第一项:listBox.SetSelected(0, true);4. 获取选中的项当我们需要获取ListBox控件中被选中的项时,可以调用ListBox控件的GetSelected方法。

该方法返回一个整数数组,包含了所有被选中的项的索引。

例如,我们可以这样获取所有被选中的项:int[] indices = listBox.GetSelectedIndices();foreach (int index in indices){string item = listBox.Items[index].ToString();处理选中的项}5. 删除项当我们需要删除ListBox控件中的某一项时,可以调用ListBox控件的Items.RemoveAt方法。

vb中各个控件的作用 -回复

vb中各个控件的作用 -回复

vb中各个控件的作用-回复VB中各个控件的作用Visual Basic(VB)是一种广泛使用的编程语言,特别适用于Windows 应用程序的开发。

在VB中,控件是构建用户界面的基本元素之一。

控件可以是按钮、文本框、标签等,它们允许用户与程序进行交互,提供信息输入、显示和操作的功能。

本文将一步一步回答关于VB中各个控件的作用。

1. 按钮(Button):按钮是最常用的控件之一,在VB中用于触发特定的操作或事件。

当用户单击按钮时,相应的事件将被触发。

按钮可以用于提交表单、打开对话框、执行计算等操作。

开发人员可以通过设置按钮的文本、尺寸、颜色和样式来自定义按钮的外观。

2. 文本框(TextBox):文本框是用于接收或显示用户输入的控件。

它具有多种用途,例如接收用户名称、密码或其他文本数据,以及显示计算结果或程序输出。

文本框还可以通过设置其属性来限制用户输入的内容,例如只允许输入数字或特定的字符。

开发人员可以自定义文本框的大小、外观和行为。

3. 标签(Label):标签是用于显示静态文本内容的控件。

它通常用于标记其他控件或提供有关程序功能或界面的说明。

标签可以包含任何文本或图像,并且可以通过设置其属性来自定义其字体、颜色和对齐方式。

4. 列表框(ListBox):列表框用于显示一列选项供用户选择。

它可以显示多个选项,用户可以使用鼠标选择一个或多个选项。

列表框还可以用于显示从数据库或其他数据源获取的数据。

开发人员可以通过编程来添加或删除选项,并处理选项被选择时触发的事件。

5. 组合框(ComboBox):组合框集合了文本框和列表框的功能。

它允许用户输入文本,并提供一个下拉列表框用于选择选项。

组合框可以用于输入数据或选择预定义的选项。

开发人员可以通过编程添加选项或根据用户输入来过滤选项。

6. 复选框(CheckBox):复选框用于让用户从一组选项中进行多项选择。

每个复选框可以表示一个选项,用户可以通过选中或取消选中复选框来进行选择。

winform listbox 排列方式

winform listbox 排列方式

Winform ListBox 排列方式一、概述在 Windows 窗体应用程序中,ListBox 控件是一个常用的选择列表控件,它允许用户在一组项中选择一个或多个条目。

ListBox 控件的排列方式是指这些项在列表中如何展示。

通过合理地设置 ListBox 的排列方式,可以优化用户界面,提高用户体验。

二、ListBox 的排列方式ListBox 控件提供了多种不同的排列方式,以满足不同的应用需求。

以下是 ListBox 的一些常用排列方式:1. 水平排列(Horizontal Orientation):这是 ListBox 默认的排列方式。

在这种模式下,项在 ListBox 中水平展示,从左到右依次排列。

2. 垂直排列(Vertical Orientation):在这种模式下,项在 ListBox 中垂直展示,从上到下依次排列。

3. 单选模式(Single Selection):在这种模式下,用户只能选择 ListBox 中的一项。

当选中的项发生变化时,之前选中的项会自动取消选中。

4. 多选模式(Multiple Selection):在这种模式下,用户可以选择 ListBox 中的多个项。

默认情况下,用户可以使用 Ctrl 键来选择不连续的项,或者使用 Shift 键来选择连续的项。

5. 复选模式(Checkbox Selection):在这种模式下,ListBox 中的每个项旁边都会显示一个复选框。

用户可以通过勾选或取消勾选复选框来选择或取消选择某个项。

6. 报表列模式(Report View):在这种模式下,ListBox 的每行都包含了两个列:一个用于显示数据,另一个用于显示操作按钮。

用户可以点击按钮对数据进行进一步操作。

7. 组合模式(ComboBox Mode):ComboBox 模式下,用户可以在文本框中输入文本以查找相应的项,也可以从下拉列表中选择一个项。

这种模式结合了 TextBox 和 ListBox 的功能。

C# listbox 全解

C# listbox 全解

ListBox控件简介ListBox英文意思为列表框,可以说是ListView的简化版本,简化名为”LBS",ListBox窗口用来列出一系列的文本,每条文本占一行,用户可以从中选择一项或多项。

当项总数超过可以显示的项数时,则会自动向ListBox控件添加滚动条。

C#中ListBox控件的用法1. 属性列表:SelectionMode 组件中条目的选择类型,即多选(Multiple)、单选(Single) Rows 列表框中显示总共多少行Selected 检测条目是否被选中SelectedItem 返回的类型是ListItem,获得列表框中被选择的条目Count 列表框中条目的总数SelectedIndex 列表框中被选择项的索引值Items 泛指列表框中的所有项,每一项的类型都是ListItem2. 取列表框中被选中的值ListBox.SelectedValue3. 动态的添加列表框中的项:ListBox.Items.Add("所要添加的项");4. 移出指定项://首先判断列表框中的项是否大于0 If(ListBox.Items.Count > 0 ) { //移出选择的项ListBox.Items.Remove(ListBox.SelectedItem); }5. 清空所有项://首先判断列表框中的项是否大于0 If(ListBox.Items.Count > 0 ) { //清空所有项ListBox.Items.Clear(); }6. 列表框可以一次选择多项:只需设置列表框的属性SelectionMode="Multiple",按Ctrl可以多选7. 两个列表框联动,即两级联动菜单//判断第一个列表框中被选中的值switch(ListBox1.SelectValue) { //如果是"A",第二个列表框中就添加这些:case "A" ListBox2.Items.Clear(); ListBox2.Items.Add("A1"); ListBox2.Items.Add("A2"); ListBox2.Items.Add("A3"); //如果是"B",第二个列表框中就添加这些:case "B" ListBox2.Items.Clear(); ListBox2.Items.Add("B1"); ListBox2.Items.Add("B2"); ListBox2.Items.Add("B3"); }8. 实现列表框中项的移位即:向上移位、向下移位具体的思路为:创建一个ListBox对象,并把要移位的项先暂放在这个对象中。

VS2021和MFC编程入门之24(常用控件:列表框控件ListBox)

VS2021和MFC编程入门之24(常用控件:列表框控件ListBox)

VS2021和MFC编程入门之24(常用控件:列表框控件ListBox) vs2021mfc编程入门之二十四(常用控件:列表框控件listbox)了解了比较常用的按钮控件,并通过按钮控件实例说明了具体用法。

本文要讲的是列表框控件(listbox)及其使用实例。

列表框控件简介列表框得出了一个选项目录,容许用户从中展开单项或多项挑选,被选上的项会CT8325BBP表明。

列表框可以分成单选列表框和多挑选列表框,顾名思义,单选列表框中一次就可以挑选一个列表项,而多挑选列表框可以同时挑选多个列表项。

列表框也会向父窗口发送通知消息。

这些通知消息及含义如下:lbn_dblclk:用户用鼠标双击了一列表项,只有具备lbs_notify的列表框就可以传送该消息lbn_errspace:列表框不能申请足够的动态内存来满足需要lbn_killfocus:列表框失去输入焦点lbn_selcancel:当前的挑选被中止,只有具备lbs_notify的列表框就可以传送该消息lbn_selchange:单击鼠标选择了一列表项,只有具有lbs_notify的列表框才能发送该消息lbn_setfocus:列表框赢得输出焦点wm_chartoitem:当列表框收到wm_char消息后,向父窗口发送该消息,只有具有lbs_wantkeyboardinput风格的列表框才会发送该消息wm_vkeytoitem:当列表框接到wm_keydown消息后,向父窗口传送该消息,只有具备lbs_wantkeyboardinput风格的列表框才可以传送该消息列表框控件的创建mfc将列表框控件的所有操作方式都PCB至了clistbox类中。

创建列表框控件时,可以在对话框模板中直接拖入列表框控件listbox,然后添加控件变量使用。

但如果需要动态创建列表框,就要用到clistbox类的create成员函数了。

create成员函数的原型如下:virtualboolcreate(dworddwstyle,constrect&rect,cwnd*pparentwnd,uintnid);参数rect指定了列表框的位置和尺寸,pparentwnd为父窗口的指针,nid用于指定列表框控件的id。

列表框控件(CListBox)和列表控件

列表框控件(CListBox)和列表控件

VC++MFC编程技术--第五章列表框控件(CListBox)和列表控件(CListCt...列表框主要用于输入,它允许用户从所列出的表项中进行单项或多项选择,被选择的项呈高亮度显示.列表框具有边框,并且一般带有一个垂直滚动条.列表框分单选列表框和多重选择列表框两种.单选列表框一次只能选择一个列表项,而多重选择列表框可以进行多重选择.5.1 MFC的CListBox类MFC的CListBox类封装了列表框.CListBox类的Create成员函数负责列表框的创建,该函数的声明是BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );参数dwStyle指定了列表框控件的风格,如表6.10所示,dwStyle可以是这些风格的组合.rect说明了控件的位置和尺寸.pParentWnd指向父窗口,该参数不能为NULL。

nID则说明了控件的ID。

如果创建成功,该函数返回TRUE,否则返回FALSE.5.2 CListBox类的成员函数CListBox类的成员函数有数十个之多.需要说明的是,可以用索引来指定列表项,索引是从零开始的.CListBox成员函数提供了下列函数用于插入和删除列表项int AddString( LPCTSTR lpszItem );该函数用来往列表框中加入字符串,其中参数lpszItem指定了要添加的字符串.函数的返回值是加入的字符串在列表框中的位置,如果发生错误,会返回LB_ERR或LB_ERRSPACE(内存不够).如果列表框未设置LBS_SORT风格,那么字符串将被添加到列表的末尾,如果设置了LBS_SORT风格,字符串会按排序规律插入到列表中.int InsertString( int nIndex, LPCTSTR lpszItem );该函数用来在列表框中的指定位置插入字符串.参数nIndex给出了插入位置(索引),如果值为-1,则字符串将被添加到列表的末尾.参数lpszItem指定了要插入的字符串.函数返回实际的插入位置,若发生错误,会返回LB_ERR或LB_ERRSPACE.与AddString函数不同,InsertString函数不会导致LBS_SORT 风格的列表框重新排序.不要在具有LBS_SORT风格的列表框中使用InsertString函数,以免破坏列表项的次序.int DeleteString( UINT nIndex );该函数用于删除指定的列表项,其中参数nIndex指定了要删除项的索引.函数的返回值为剩下的表项数目,如果nIndex超过了实际的表项总数,则返回LB_ERR.void ResetContent( );该函数用于清除所有列表项.int Dir( UINT attr, LPCTSTR lpszWildCard );该函数用来向列表项中加入所有与指定通配符相匹配的文件名或驱动器名.参数attr为文件类型的组合。

经典C#ListBox操作实况

经典C#ListBox操作实况

经典C#ListBox操作实况•摘要:下面的代码就是C# ListBox操作实况的展示,很有意义,希望能给大家带来帮助。

•C# ListBox操作实况1.protectedvoidButton1_Click(objectsender,EventArgse)2.{3.ListItemnewItem=newListItem();4.newItem.Text=this.TextBox3.Text;5.newItem.Value=this.TextBox4.T ext;6.this.ListBox1.Items.Add(newItem);7.}8.//得到设置最大数量9.//原Capacity的容量为8,默认的情况下会随着新增项(ListItem)的数量增多会成2倍的增长81632..10.//但如果设置了Capacity的大小,就不会自动增长了11.protectedvoidButton2_Click(objectsender,EventAr gse)12.{13.Response.Write("原大小:"+this.ListBox1.Items.Capacity.T oString());14.this.ListBox1.Items.Capacity=6;15.Response.Write("更改后:"+this.ListBox1.Items.Capacity.T oString());}//清空items集合中所有的项16.protectedvoidButton3_Click(objectsender,EventAr gse)18.this.ListBox1.Items.Clear();19.}//判断集合中是否包含指定项20.protectedvoidButton4_Click(objectsender,EventAr gse)21.{22.ListItemitem=newListItem(this.TextBox1.Text,this.T extBox2.Text);23.if(this.ListBox1.Items.Contains(item))24.{25.Response.Write("yes");;26.}27.else28.{29.Response.Write("no");30.}}//将items中的所有项复制到listItemCollection集合中31.protectedvoidButton5_Click(objectsender,EventAr gse)32.{33.ListItem[]items=newListItem[this.ListBox1.Items.C ount];34.this.ListBox1.Items.CopyTo(items,0);35.ListBoxlistBox2=newListBox();36.listBox2.ID="ListBox2";37.listBox2.Items.AddRange(items);38.//得到ListBox1的位置,并将listBox2放到ListBox1后面39.intposition=0;40.foreach(Controlcinthis.form1.Controls)42.position++;43.if(c.ID=="ListBox1")44.{45.break;46.}47.}48.this.form1.Controls.AddAt(position,listBox2);}//得到集合中项的数量protectedvoidButton6_Click(objectsender,EventArgse)49.{50.Response.Write(this.ListBox1.Items.Count.T oString ());51.}52.//根据文本查找,如果找到则返回此项,如果找不到则返加null53.protectedvoidButton7_Click(objectsender,EventAr gse)54.{55.ListItemitem=this.ListBox1.Items.FindByText(this.T extBox1.Text);56.if(item!=null)57.{58.Response.Write(item.Text+":"+item.Value);59.}60.}61.//根据值查找,如果找到则返回此项,如果找不到则返加null62.protectedvoidButton8_Click(objectsender,EventAr gse)64.ListItemitem=this.ListBox1.Items.FindByText(this.T extBox2.Text);65.if(item!=null)66.{67.Response.Write(item.Text+":"+item.Value);68.}69.}70.//所查找项的索引71.protectedvoidButton9_Click(objectsender,EventAr gse)72.{73.ListItemitem=this.ListBox1.Items.FindByText(this.T extBox1.Text);74.if(item!=null)75.{76.intposition=this.ListBox1.Items.IndexOf(item);77.Response.Write("所查找项的索引:"+position.ToString());78.}79.}//插入新建项80.protectedvoidButton10_Click(objectsender,EventA rgse)81.{82.ListItemnewItem=newListItem(this.TextBox1.T ext,t his.TextBox2.Text);83.this.ListBox1.Items.Insert(0,newItem);84.}//删除节点85.protectedvoidButton11_Click(objectsender,EventA rgse)87.ListItemitem=newListItem(this.TextBox1.Text,this.T extBox2.Text);88.this.ListBox1.Items.Remove(item);89.}//根据索引位置删除90.protectedvoidButton12_Click(objectsender,EventA rgse)91.{92.intindex=this.ListBox1.Items.IndexOf(newListItem( this.TextBox1.Text,this.TextBox2.Text));93.this.ListBox1.Items.RemoveAt(index);94.}//选中项95.protectedvoidButton13_Click(objectsender,EventA rgse)96.{97.this.TextBox1.Text=this.ListBox1.SelectedItem.T ext;98.this.TextBox2.Text=this.ListBox1.SelectedItem.Valu e;99.}//修改100.protectedvoidButton14_Click(objectsender,EventA rgse)101.{102.this.ListBox1.SelectedItem.Text=this.T extBox3.Text;103.this.ListBox1.SelectedItem.Value=this.TextBox4.Tex t;104.}105.以上介绍了C# ListBox的操作方法,可谓是C# ListBox操作实况,希望能给大家带来帮助。

C# boxlist用法(全)

C# boxlist用法(全)

属性列表:SelectionMode 组件中条目的选择类型,即多选(Multiple)、单选(Single) Rows 列表框中显示总共多少行Selected 检测条目是否被选中SelectedItem 返回的类型是ListItem,获得列表框中被选择的条目Count 列表框中条目的总数SelectedIndex 列表框中被选择项的索引值Items 泛指列表框中的所有项,每一项的类型都是ListItem2. 取列表框中被选中的值ListBox.SelectedValue3. 动态的添加列表框中的项:ListBox.Items.Add("所要添加的项");4. 移出指定项://首先判断列表框中的项是否大于0If(ListBox.Items.Count > 0 ){//移出选择的项ListBox.Items.Remove(ListBox.SelectedItem);}5. 清空所有项://首先判断列表框中的项是否大于0If(ListBox.Items.Count > 0 ){//清空所有项ListBox.Items.Clear();}6. 列表框可以一次选择多项:只需设置列表框的属性SelectionMode="Multiple",按Ctrl可以多选7. 两个列表框联动,即两级联动菜单//判断第一个列表框中被选中的值switch(ListBox1.SelectValue){//如果是"A",第二个列表框中就添加这些:case "A"ListBox2.Items.Clear();ListBox2.Items.Add("A1");ListBox2.Items.Add("A2");ListBox2.Items.Add("A3");//如果是"B",第二个列表框中就添加这些:case "B"ListBox2.Items.Clear();ListBox2.Items.Add("B1");ListBox2.Items.Add("B2");ListBox2.Items.Add("B3");}8. 实现列表框中项的移位即:向上移位、向下移位具体的思路为:创建一个ListBox对象,并把要移位的项先暂放在这个对象中。

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

VC++ ListBox(列表框)的使用
文档制作:@柳絮飘诗
ListBox的操作比较简单
1添加数据
声明控件变量的类别为Control,变量类型为CListBox,变量名为m_ListBox_Content.
m_ListBox_Content.AddString(_T("123"));
m_ListBox_Content.AddString(_T("汉字"));
m_ListBox_Content.AddString(_T("English"));
m_ListBox_Content.AddString(_T("!@#$%^&*()"));
2获取数据
CString s;
m_ListBox_Content.GetText(1,s);
MessageBox(s,_T("取得第2行数据"),MB_OK);
s.ReleaseBuffer();
将会得到"汉字"这个字符串,如果没有得到"汉字"这个字符串,是因为ListBox的Sort属性设为True了.设为False之后就按照你编写顺序写入(原来是这样 之前都没注意过)
3获取选择的数据
首先要将ListBox的Selection属性设置为Multiple;
int nSel;
nSel=m_ListBox_Content.GetCurSel();
CString s;
m_ListBox_Content.GetText(nSel,s);
MessageBox(s,_T("您选择的是"),MB_OK);
s.ReleaseBuffer();
4获取选择ListBox项的多个数据
首先要将ListBox的Selection的属性设置为Multiple
int nSel = m_ListBox_Content.GetSelCount();
CArray< int,int& > arrayListSel;
arrayListSel.SetSize(nSel);
m_ListBox_Content.GetSelItems(nSel,arrayListSel.GetData());
CString s = _T("");
for( int i=0; i< nSel; i++ )
{
m_ListBox_Content.GetText( arrayListSel[i], s);
MessageBox(s,_T("您选择的是"),MB_OK);
}
5双击删除所选项
添加一个ListBox的双击事件
m_ListBox_Content.DeleteString(m_ListBox_Content.GetCurSel());
//例子:
CListBox *List;
List=(CListBox*)GetDlgItem(IDC_LIST1);
List -> AddString("AAA");
List -> SetCurSel(0);。

相关文档
最新文档