Visual Basic.NET打造个性化ListBox控件 | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| http://www.sina.com.cn 2004年10月19日 10:15 天极yesky | ||||||||||||||||||
|
文/马金虎 ListBox(列表框)也是日常经常使用和遇到的组件,在Visual Basic .Net中使用的ListBox其实是从.Net FrameWork SDK中的ListBox类经过实例化产生的。.Net FrameWork SDK中的ListBox类所创建的ListBox是最典型的,要想使自己的ListBox与众不同就必须编写
一..Net Frame Work SDK 为在VB.Net实现个性化ListBox提供的工具: 1. 属性: 在缺省情况下,ListBox是不允许被重绘制的,这是因为ListBox中的“DrawMode”属性值是“Normal”。此属性的作用是设定ListBox的绘制模式,“Normal”是枚举DrawMode中的一个成员。设定为“Normal”意味着ListBox中各个成员都是系统控制,并且各项大小相等。“DrawMode”属性在本文中的作用类似与上一文中的“OwnerDraw”属性。枚举DrawMode中的其他成员请参阅表01所示:
本文设定ListBox的“DrawMode”属性值是“OwnerDrawVariable”。因为本文介绍的程序不仅绘制ListBox中的各元素,还将设定ListBox中元素的大小。 2. 事件: 在设定“DrawMode”属性值为“OwnerDrawVariable”后,将会触发一些用以绘制ListBox的事件,如:DrawItem事件和MeasureItem事件。DrawItem事件主要处理绘制ListBox中的各个元素,MeasureItem事件主要是处理设置ListBox各元素的大小。ListBox中的DrawItem事件和MeasureItem事件和上一节中介绍的MenuItem的DrawItem事件和MeasureItem事件是一样的,分别接收DrawItemEventArgs参数和MeasureItemEventArgs参数数据,并以此数据来处理。这二个事件的详细介绍请参阅前一节中内容。 3. 绘制图形的方法: 在绘制ListBox时所采用的方法和上一节中也基本相同,唯一不同的是在本文中增加了图形绘制方法DrawImage,DrawImage方法的作用是在指定的位置,以指定图形的原始大小进行绘制,本文通过DrawImage方法实现在ListBox各项中增加相应的图形。 二.设计、调试和运行环境: (1).微软公司视窗2000服务器版。 (2).Visual Studio .Net 2003企业构建版,.Net FrameWork SDK 1.1版本号4322。 三.循序渐进绘制自己的ListBox: 首先还是按照以下步骤新建一个Visual Basic .Net项目,并在项目窗体上增加一个ListBox组件: 1. 启动Visual Studio .Net。 2. 选择菜单【文件】|【新建】|【项目】后,弹出【新建项目】对话框。 3. 将【项目类型】设置为【Visual Basic项目】。 4. 将【模板】设置为【Windows应用程序】。 5. 在【名称】文本框中输入【打造自己的ListBox】。 在【位置】的文本框中输入【E:\VS.NET项目】,然后单击【确定】按钮,这样在“E:\VS.NET项目”目录中就产生了名称为“打造自己的ListBox”的文件夹,并在里面创建了名称为“打造自己的ListBox”的项目文件。 6. 把Visual Studio .Net的当前窗口切换到【Form1.vb(设计)】窗口,并从【工具箱】中的【Windows窗体组件】选项卡中往Form1窗体中拖入一个ListBox组件到窗体中。并设定此ListBox组件中加入“aaa”、“bbb”和“ccc”三个项。 至此一个最典型的ListBox就完成了。具体如图01所示:
  [1]  [2]  [3]  [下一页]
|








