此主题相关图片如下: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编辑过]