以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请问能否点击listviwe中图片自动变为另一个不一样的图案,且锁定点击过的,不能再点击。  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=194479)

--  作者:nxdx112
--  发布时间:2024/12/14 16:21:00
--  请问能否点击listviwe中图片自动变为另一个不一样的图案,且锁定点击过的,不能再点击。
各位老师您好,请问能否点击listviwe中的图片
图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20241214153349.png
图片点击可在新窗口打开查看
问题一:如何点击一个后图案后自动变为另一个不一样的图案,且锁定点击过的,不能再点击。  在那个里面怎么修改

Button1
Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
lvw.StopRedraw() \'暂停绘制
lvw.Rows.Clear() \'清除原来的行
lvw.Images.Clear() \'清除原来的图片
lvw.View = ViewMode.LargeIcon \'显示模式为大图标
lvw.Images.AddLargeImage("01", "01.png") \'添加代表男性的一对图标
lvw.Images.AddLargeImage("22", "22.png") \'添加代表女性的一对图标
For Each dr As DataRow In DataTables("题库").DataRows \'从数据表中提取数据
    Dim vr As  WinForm.ListViewRow =  lvw.Rows.Add() \'增加一行
    vr.Text = dr("序号")  \'设置标题
    If dr("试题类型") = "选择题" Then \'设置分组
        vr.ImageKey = "01"

RowActivate

Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
Dim vr As WinForm.ListViewRow = lvw.Current \'获取ListView的当前行
If vr Is Nothing Then \'如果不存在当前行,也就是内有选定任何一行
    Return
End If
Dim dr As DataRow = vr.tag \'获取此行对应的DataRow
Dim ps As Integer = Tables("题库").FindRow(dr)
Tables("题库").filter = "序号=\'" & dr("序号") & "\'"
    Else
        vr.ImageKey = "22"
    End If
    vr.Tag= dr
Next
lvw.ResumeRedraw() \'恢复绘制

问题二: 怎么将序号直接像下图一样标到中间,而不是下面。

图片点击可在新窗口打开查看此主题相关图片如下:5.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2024/12/14 16:38:53编辑过]

--  作者:有点蓝
--  发布时间:2024/12/14 17:06:00
--  
1、RowActivate事件

Dim vr As WinForm.ListViewRow = e.Sender.Current \'获取ListView的当前行
if vr.ImageKey = "默认图案名称" then
vr.ImageKey = "点击后要改变的图案名称"
处理点击后的其它逻辑
else
msgbox("已经点击过,不在处理")
end if

2、没有办法,只能预先设计好图片使用