以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]自定义函数问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=106516)

--  作者:blsu33
--  发布时间:2017/9/10 21:49:00
--  [求助]自定义函数问题
老师,

代码里面定义了panl

        \'Dim pmcx As WinForm.Panel=FormS(dr("ckname")).CreateControl("pnl_" & dr("ym_gzid") & "_cx",ControlTypeEnum.Panel)
       \'批量添加控件
    Dim zd As New Dictionary(Of String, object)
    zd.Add("02",pmkj)
    zd.Add("03",pmcx)
    zd.Add("04",pmcz)
    zd.Add("05",pmxs)
    For Each mbmc As object In zd.Values \'显示所对应的值
        Functions.Execute("za_nb_addctron",e,mbmc)
    Next
    \' 批量添加控件


za_nb_addctron自定义函数如下

Dim e As object=args(0)
Dim pnl As object = args(1)
Select Case pnl.name.split("_")(2)
    
        
    Case "cx"
        Dim s1() As String = {"btn_xz_","btn_xg_","btn_sc_","btn_gb_"}
        For Each  si As String In s1
            Dim code As String = "dim e = args(0)" & vbcrlf
            code &= "dim txt = e.form.CreateControl(""" & si & pnl.name.split("_")(1) & """, ControlTypeEnum.Button)" & vbcrlf
            code &= "e.form.Controls(""" & pnl.name & """).AddControl(txt)" & vbcrlf‘
            \'msgbox(code)
            Functions.remove("test")
            Functions.Add("test",Code)
            Functions.Complie()
            Functions.Execute("test", e)
        Next
        Case"cx"
End Select

代码有误,劳烦老师给看下

--  作者:blsu33
--  发布时间:2017/9/10 21:57:00
--  

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

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


--  作者:blsu33
--  发布时间:2017/9/10 22:16:00
--  
1楼 
code &= " pnl.AddControl(txt)" & vbcrlf‘

也不对


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


--  作者:有点甜
--  发布时间:2017/9/10 22:27:00
--  

1、函数没问题;

 

2、你动态生成panel以后,并没有添加到窗口里面去,所以找不到。


--  作者:blsu33
--  发布时间:2017/9/10 23:01:00
--  
老师,
    上述代码耗时12秒,如何能快速增加10个Boton,名字规则btn_xz_*名称
[此贴子已经被作者于2017/9/10 23:06:00编辑过]

--  作者:有点甜
--  发布时间:2017/9/10 23:09:00
--  
以下是引用blsu33在2017/9/10 23:01:00的发言:
老师,
    上述代码耗时12秒,如何能快速增加10个Boton,名字规则btn_xz_*名称
[此贴子已经被作者于2017/9/10 23:06:00编辑过]

 

不要每次都编译和执行代码。

 

把所有的代码一次性得到以后,编译一次,执行一次。


--  作者:blsu33
--  发布时间:2017/9/10 23:14:00
--  
求老师给演示下,不明白。这个例子其实就是我想要的但是,速度太慢
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=104035&replyID=&skin=1


--  作者:blsu33
--  发布时间:2017/9/10 23:17:00
--  
那个例子要是实在改不了

劳烦您用这个
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:复件 添加方法.foxdb



--  作者:有点甜
--  发布时间:2017/9/11 9:07:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:复件 添加方法.foxdb


--  作者:blsu33
--  发布时间:2017/9/11 9:38:00
--  
多谢
[此贴子已经被作者于2017/9/11 9:38:42编辑过]