Foxtable(狐表)用户栏目专家坐堂 → Afterload 代码优化


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

主题:Afterload 代码优化

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
Afterload 代码优化  发帖心情 Post By:2015/4/2 15:57:00 [只看该作者]

老师,
  窗口的after load 代码耗时较长,请老师帮忙优化一下啊

For i As Integer = 1 To 999
    Dim btn As object
    If i <= 99 Then
        btn = e.Form.CreateControl("btn_tabcontrol1_pg" & i, ControlTypeEnum.Button)
    End If
    If i <= 199 And i>=100 Then
        btn = e.Form.CreateControl("btn_tabcontrol2_pg" & i-99, ControlTypeEnum.Button)
    End If
    If i <= 299 And i>=200 Then
        btn = e.Form.CreateControl("btn_tabcontrol2=3_pg" & i-199, ControlTypeEnum.Button)
    End If
    If i <= 399 And i>=300 Then
        btn = e.Form.CreateControl("btn_tabcontrol4_pg" & i-299, ControlTypeEnum.Button)
    End If
    If i <= 499 And i>=400 Then
        btn = e.Form.CreateControl("btn_tabcontrol5_pg" & i-399, ControlTypeEnum.Button)
    End If
    If i <= 599 And i>=500 Then
        btn = e.Form.CreateControl("btn_tabcontrol6_pg" & i-499, ControlTypeEnum.Button)
    End If
    If i <= 699 And i>=600 Then
        btn = e.Form.CreateControl("btn_tabcontrol7_pg" & i-599, ControlTypeEnum.Button)
    End If
    If i <= 799 And i>=700 Then
        btn = e.Form.CreateControl("btn_tabcontrol8_pg" & i-699, ControlTypeEnum.Button)
    End If
    If i <= 899 And i>=800 Then
        btn = e.Form.CreateControl("btn_tabcontrol9_pg" & i-799, ControlTypeEnum.Button)
    End If
    If i <= 999 And i>=900 Then
        btn = e.Form.CreateControl("btn_tabcontrol10_pg" & i-899, ControlTypeEnum.Button)
    End If


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/2 16:00:00 [只看该作者]

你这是在干嘛

上个例子看看, 把你需求说出来,也许可以换个高效率的方法

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


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

 跟代码没有关系,你动态生成1000个控件肯定很慢啊。


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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/4/2 16:55:00 [只看该作者]

老师,
  例子是这个附件我写有些夸张了,实际上不会到999,但会有一些;

另外,页面的关闭按钮还有些没有达到理想,劳烦有点甜老师在帮忙改下,真是不好意思。关闭按钮的提示


图片点击可在新窗口打开查看此主题相关图片如下:关闭按钮提示.png
图片点击可在新窗口打开查看




[此贴子已经被作者于2015/4/2 17:18:45编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/4/2 17:06:00 [只看该作者]

第一个问题
窗口1的afterload

For i As Integer = 1 To 999
    Dim btn As object
    If i <= 99 Then
        btn = e.Form.CreateControl("btn_tabcontrol1_pg" & i, ControlTypeEnum.Button)
 
这是一个生成页面对应的BUTTON

对应的每个模块的窗口 会有很多 例如 页面999的PAGE1  对应窗口2的模块的很多窗口 我设定最大是99个(实际不会是这么多,可以小些)

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/2 17:19:00 [只看该作者]

你弄那么多这些东西想做什么?  还不如点击页面再生成

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/2 17:20:00 [只看该作者]

或者根据需求,生成对应数量的,不要那么多

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


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

窗口2的SelectedIndexChanged事件的 e.Form 改成 Forms("窗口1")


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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/4/2 17:42:00 [只看该作者]

有点甜老师,
   还是不行,麻烦您再帮忙看看。


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


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


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

 全部改啊

 回到顶部
总数 11 1 2 下一页