开始第一步

本节的例子可以打开CaseStudy目录下的文件“ListView.Table”,有关代码在名为“示例一”的窗口中。

本节的任务是显示一个下图所示的窗口:

设计步骤:

1、新建一个窗口,加入一个ListView、一个Button、两个RadionButton。

2、按钮的Click事件代码设置为:

Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
lvw
.Rows.Clear() '清除原来的行
lvw
.Images.Clear() '清除原来的图片 

lvw.Images.AddImage("China","China.Ico","China48.Ico") '增加代表中国的 一对图标,图标键值为"China"
lvw
.Images.AddImage("USA","USA.Ico","USA48.Ico") ''增加代表美国的一对图标,图标键值为"USA"
lvw
.Images.AddImage("UK","UK.Ico","UK48.Ico") ''增加代表英国的一对图标,图标键值为"UK" 

Dim r As  WinForm.ListViewRow lvw.Rows.Add() '增加一行
r
.Text = "中国" '指定行的标题
r
.ImageKey = "China" '指定行的图标键值 

r = lvw.Rows.Add() '再增加一行
r
.Text = "美国" '指定行的标题
r
.ImageKey = "USA" '指定行的键值

r = lvw.Rows.Add() '再增加一行
r
.Text = "英国" '指定行的标题
r
.ImageKey = "UK" '指定行的键值

3、RadionButton1(大图标)的CheckedChanged事件代码设置为:

If e.Sender.Checked = True Then
    Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
   
lvw.View = ViewMode.LargeIcon '显示模式切换为大图标
End
If

4、RadionButton2(小图标)的CheckedChanged事件代码设置为:

If e.Sender.Checked = True Then
    Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
   
lvw.View = ViewMode.SmallIcon '显示模式切换为小图标
End
If

这样打开窗口后,单击按钮可以生成ListView,单击两个RadioButton,可以在大图标和小图标两个显示模式中切换。

提示:

1、 所有需要使用的图标,务必事先复制到项目文件所在目录的Images或Attachments子目录中。

2、其实按钮的代码可以简化为:

Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
lvw
.Rows.Clear() '清除原来的行
lvw
.Images.Clear() '清除原来的图片
Dim
nms() As String = {"中国","美国","英国"} '定义标题
Dim
ics() As String = {"China","USA","UK"} '定义图标键值
For
i As Integer = 0 To nms.Length - 1
   
lvw.Images.AddImage(ics(i),ics(i) & ".ico", ics(i) & "48.ico") '添加代表这个国家的一对图标
    Dim
r As  WinForm.ListViewRow lvw.Rows.Add() '增加一行
   
r.Text = nms(i) '指定标题
   
r.ImageKey = ics(i) '指定图标键值
Next

采用这种方式编写代码的前提是,根据图标键值可以推导出对应的图标文件,例如前面的例子,假定键值为"UK",对应的小图标为"UK.ico",对应的大图标为"UK48.ico"。
前面之所有采用繁琐的方式编写代码,主要是为了方便初学者理解代码;但是为了简洁,今后的例子将采用上面简化后的方法编写。

 

 


本页地址:http://www.foxtable.com/webhelp/topics/2768.htm