以文本方式查看主题

-  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=93110)

--  作者:lexianfeng
--  发布时间:2016/11/21 8:51:00
--  [求助]Tabcontrol 引用窗口 控件问题

用Tabcontrol 控件动态的引用独立窗口,后窗口内的控件有些可以看到但是控件的事件在被触发后,显示无此控件,怎么处理?

 

点击工程模块--基础物料--导入基础物料,该窗口内的checkcombobox问题,请高手解答

[此贴子已经被作者于2016/11/21 9:04:40编辑过]

--  作者:lexianfeng
--  发布时间:2016/11/21 8:58:00
--  


此主题相关图片如下:无标题.png
按此在新窗口浏览图片
<br/>
此主题相关图片如下:无标题1.png
" target="_blank" >" border="0" alt="按此在新窗口浏览图片" />
<br/>

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:df技术方案报价系统(2014).rar
<br/>

[此贴子已经被作者于2016/11/21 9:01:32编辑过]

--  作者:有点蓝
--  发布时间:2016/11/21 10:09:00
--  
问题出在函数CreatTabcontrolPage,注释这2句

                        Dim CheckedComboBox As WinForm.CheckedComboBox=Forms(frmName).Controls("CheckedComboBox1")
                        tabc.TabPages(nm).AddControl(CheckedComboBox)

你把控件从窗口移到TabPage了,窗口就没有了这个控件,窗口再用这个控件就会出错了

--  作者:lexianfeng
--  发布时间:2016/11/21 12:00:00
--  
如果注释掉了,这个控件的事件就会报错,怎们办?
[此贴子已经被作者于2016/11/21 12:05:20编辑过]

--  作者:有点青
--  发布时间:2016/11/21 16:21:00
--  

函数的代码要改一下。

 

\'\'---------------------------------------------------------------------------------------------------------------------------
\'\'\'功能:模块导航窗口按钮事件                          leexianfeng           日期:2016-11-14 10:14:57

Dim nm As String =Args(0)
Dim tt As String =Args(1)
Dim frmName As String
\'MessageBox.show(nm & vbcrlf & tt)
Dim tabc As WinForm.TabControl = Forms("0010 首页").Controls("TabControl2")
Dim dr As DataRow =DataTables("Z99设置").Find("窗口_标题 = \'"& tt &"\'")
\'MessageBox.show(dr("窗口_名称"))
If dr IsNot Nothing Then
    frmName =dr("窗口_名称")
    For a As Integer=0 To tabc.TabPages.Count-1  \'如果当前页签中存在所选的页签,则跳出
        If tabc.TabPages(a).Text=tt Then
            tabc.SelectedIndex=a
            Return Nothing
        End If
    Next
   
    Forms(frmName).open(-1000,-1500)   \'打开窗口的位置偏移后,避免出现窗口闪退
   
    If Forms(frmName).Opened Then
        Dim pb = tabc.BaseControl
        tabc.TabPages.Add(nm,tt)
        Forms(frmName).BaseForm.TopLevel = False
        Forms(frmName).BaseForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
        Forms(frmName).BaseForm.Dock = System.Windows.Forms.DockStyle.Fill
       
        \'PB.TabPages(nm).Controls.Clear
        PB.TabPages(nm).Controls.add(Forms(frmName).BaseForm)
        tabc.SelectedPage = tabc.TabPages(nm)
        tabc.SelectedPage.Image=GetImage("001.ico")
        \'tabc.Form.Select
        \'tabc.Select
    End If
End If
\'\'---------------------------------------------------------------------------------------------------------------------------


--  作者:lexianfeng
--  发布时间:2016/11/21 19:47:00
--  问题解决
高手啊,问题解决了,继续下一步。非常感谢