以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- TabControl怎么根据选择的卡片项不同执行对应的动作! (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=177479) |
-- 作者:cnsjroom -- 发布时间:2022/5/24 10:29:00 -- TabControl怎么根据选择的卡片项不同执行对应的动作! 方式一: Dim tb As WinForm.TabControl = e.Form.Controls("TabControl2") If tb.SelectedIndex = 0 Then e.Form.Controls("Panel1").Basecontrol.controls("mplayer").close End If 方式二: Dim tb As WinForm.TabControl = e.Form.Controls("TabControl2") If tb.SelectedPage.Text = "知识库" Then e.Form.Controls("Panel1").Basecontrol.controls("mplayer").close End If 两种方式均没有实现close关闭动作! [此贴子已经被作者于2022/5/24 10:30:08编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/5/24 10:31:00 -- 方式一判断是如果选择的是第一个页签 方式二判断是如果选择的页签名称是xxx 根据自己的需要使用
|
-- 作者:cnsjroom -- 发布时间:2022/5/24 10:39:00 -- 回复:(有点蓝)方式一判断是如果选择的是第一个页签... Dim mplayer As new AxWMPLib.AxWindowsMediaPlayer() mplayer.name = "mplayer" mplayer.Dock = System.Windows.Forms.DockStyle.Fill e.Form.Controls("Panel1").Basecontrol.controls.add(mplayer) 在操作方式1.2之前运行了如上代码 然后操作方式1.2结果没有运行e.Form.Controls("Panel1").Basecontrol.controls("mplayer").close 且方式一还提示错误: .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2022.1.30.2 错误所在事件:窗口,知识库,TabControl1,SelectedIndexChanged 详细错误信息: 未设置对象变量或 With 块变量。 [此贴子已经被作者于2022/5/24 10:41:39编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/5/24 10:54:00 -- 完整代码 |
-- 作者:cnsjroom -- 发布时间:2022/5/24 11:12:00 -- 回复:(有点蓝)完整代码 全局代码:Public mplayer As new AxWMPLib.AxWindowsMediaPlayer() 播放视频按钮代码: Dim wb As WinForm.WebBrowser = e.Form.Controls("WebBrowser1") Dim tb As WinForm.TabControl = e.Form.Controls("TabControl2") Dim pc As WinForm.PictureBox = e.Form.Controls("PictureBox1") tb.SelectedIndex=2 \'Dim mplayer As new AxWMPLib.AxWindowsMediaPlayer() mplayer.name = "mplayer" mplayer.Dock = System.Windows.Forms.DockStyle.Fill e.Form.Controls("Panel1").Basecontrol.controls.add(mplayer) mplayer.url = vars("文件") wb.Address = Nothing pc.Image = GetImage(Nothing) TabControl2控件SelectedIndexChanged代码: Dim tb As WinForm.TabControl = e.Form.Controls("TabControl2") If tb.SelectedPage.text = "知识库" Then e.Form.Controls("Panel1").Basecontrol.controls("mplayer").ctlcontrols.pause End If \' \'Dim tb As WinForm.TabControl = e.Form.Controls("TabControl2") \'If tb.SelectedIndex = 0 Then \'MessageBox.Show("1") \'e.Form.Controls("Panel1").Basecontrol.controls("mplayer").close \'End If |
-- 作者:有点蓝 -- 发布时间:2022/5/24 11:30:00 -- TabControl2控件SelectedIndexChanged代码: Dim tb As WinForm.TabControl = e.Form.Controls("TabControl2") If tb.SelectedPage.text = "知识库" Then mplayer.ctlcontrols.pause End If |
-- 作者:cnsjroom -- 发布时间:2022/5/24 11:36:00 -- 回复:(有点蓝)TabControl2控件SelectedIndexChange... 提示如下错误: --------------------------- 编译错误:需要对程序集“Interop.WMPLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”(包含类型“WMPLib.IWMPControls”)的引用。请在项目中添加一个。 错误代码:mplayer.ctlcontrols.pause --------------------------- |
-- 作者:有点蓝 -- 发布时间:2022/5/24 11:43:00 -- 请上传实例说明 |
-- 作者:cnsjroom -- 发布时间:2022/5/24 16:16:00 -- 回复:(有点蓝)请上传实例说明 以下内容是专门发给有点蓝浏览 麻烦老师指导下,另外在打开或关闭的时候 会报错 .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2022.1.30.2 错误所在事件:窗口,知识库,BeforeClose 详细错误信息: 引发类型为“System.Windows.Forms.AxHost+InvalidActiveXStateException”的异常。 |
-- 作者:有点蓝 -- 发布时间:2022/5/24 16:35:00 -- 下面用法我测试都没有问题 e.Form.Controls("Panel1").Basecontrol.controls("mplayer").ctlcontrols.pausemplayer.ctlcontrols.pause 关闭退出项目,删除项目所在的文件夹里的bin目录,然后重启项目试试。
|