Foxtable(狐表)用户栏目专家坐堂 → [求助]如何获取控件图标名称??


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

主题:[求助]如何获取控件图标名称??

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


加好友 发短信
等级:二尾狐 帖子:550 积分:5223 威望:0 精华:0 注册:2018/11/6 10:54:00
[求助]如何获取控件图标名称??  发帖心情 Post By:2018/11/18 12:36:00 [只看该作者]

如题

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/18 23:26:00 [只看该作者]

具体一点你的问题。基本上是无法获取名称的。

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


加好友 发短信
等级:二尾狐 帖子:550 积分:5223 威望:0 精华:0 注册:2018/11/6 10:54:00
  发帖心情 Post By:2018/11/19 8:57:00 [只看该作者]


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


动态添加选项卡时,把左侧图标给右侧对应选项卡好处理,但是左侧的图标太大,放在右边不好看。
我的图标命名规则:天气预报1.png(32X32),天气预报2.png(24X24),天气预报3.png(16X16)......。
所以想直接获取左边图标名,改一下再赋给右侧选项卡,以减少代码。
--------------------------------------------
’窗口代码
 Case "快递查询","天气预报","违章查询","证件查验","OpenQQ","Excel编辑"
            Functions.Execute("TabControlAddFrm",e,Tc)

-------------------------------------------
'动态添加选项页及在选项页加入窗体

Dim e As object=args(0)
Dim tc As WinForm.TabControl = args(1)

If tc.TabPages("TC" & e.Sender.text) Is Nothing Then
    e.Form.StopRedraw()
    Dim tcpg As WinForm.TabPage
    tcpg=Tc.TabPages.Insert("TC" & e.Sender.text,e.Sender.text,Tc.TabPages.Count) '动态添加一个页面
    Dim pl As WinForm.panel
    pl=e.Form.CreateControl("pl" & e.Sender.text, ControlTypeEnum.panel)'动态添加一个panel
    
    pl.Dock = System.Windows.Forms.DockStyle.Fill
    tcpg.AddControl(pl)
    'MessageBox.show(e.Sender.text)
    Functions.Execute("addToFrm",pl,e.Sender.text)’加入窗体
    If tc.TabPages(tcpg.name).Image IsNot Nothing Then '如果触发的控件有图标,则设为此页面的图标
        tc.TabPages(tcpg.name).Image=e.Sender.Image '这里可以获取图标名称吗???想把32X32像素的换成24X24像素的。
    End If
    tc.SelectedPage =  Tc.TabPages(tcpg.name)
    e.Form.ResumeRedraw()
    
Else
    Tc.SelectedPage =  Tc.TabPages("TC" & e.Sender.text)
End If

[此贴子已经被作者于2018/11/19 8:58:22编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/19 9:05:00 [只看该作者]

1、不可以直接获取控件图标的名称。

 

2、方法一:你可以对image截取大小后赋值,如

 

Dim img = e.sender.image
Dim bmp As new bitmap(img, 24, 24)
tc.TabPages(tcpg.name).Image = bmp

 

3、方法二:你可以根据控件名称获取对应的图片,如 getimage(e.sender.name & "2.png")


 回到顶部