Foxtable(狐表)用户栏目专家坐堂 → 请问能否点击listviwe中图片自动变为另一个不一样的图案,且锁定点击过的,不能再点击。


  共有128人关注过本帖树形打印复制链接

主题:请问能否点击listviwe中图片自动变为另一个不一样的图案,且锁定点击过的,不能再点击。

帅哥哟,离线,有人找我吗?
nxdx112
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:405 积分:3688 威望:0 精华:0 注册:2016/11/12 18:42:00
请问能否点击listviwe中图片自动变为另一个不一样的图案,且锁定点击过的,不能再点击。  发帖心情 Post By:2024/12/14 16:21:00 [只看该作者]

各位老师您好,请问能否点击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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111381 积分:566969 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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、没有办法,只能预先设计好图片使用

 回到顶部