Foxtable(狐表)用户栏目专家坐堂 → [求助]动态生成面板


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

主题:[求助]动态生成面板

帅哥哟,离线,有人找我吗?
江南小镇
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1701 积分:11355 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2019/9/4 16:42:00 [只看该作者]

老师,把按钮摆在面板中代码设置不对。

Dim txt As WinForm.Button
For i As Integer = 1 To 6
    Dim r As WinForm.Control = Forms("动态添加控件").Controls("Button" & i)
    r.Top = 8      
    r.Height=85    
    r.Width =100  
    r.left = 60 + 120 * (i-1)                                                
Next
e.Form.Controls("Panel1").AddControl(txt)

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


加好友 发短信
等级:超级版主 帖子:106242 积分:540333 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/4 16:46:00 [只看该作者]

参考前面panel的用法,如果看不懂也不会调试,先花几周时间学学基础:http://www.foxtable.com/webhelp/topics/1592.htm

从添加2个按钮,逐步调试和调整位置。然后在塔基3个、4个按钮测试

 回到顶部
帅哥哟,离线,有人找我吗?
江南小镇
  23楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1701 积分:11355 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2019/9/5 12:46:00 [只看该作者]

老师好,下来一定好好学习,近期事情很多现只想把这个窗口完成,谢谢了老师。



以下是引用江南小镇在2019/9/4 16:42:00的发言:

老师,把按钮摆在面板中代码设置不对。

Dim txt As WinForm.Button
For i As Integer = 1 To 6
    Dim r As WinForm.Control = Forms("动态添加控件").Controls("Button" & i)
    r.Top = 8      
    r.Height=85    
    r.Width =100  
    r.left = 60 + 120 * (i-1)                                                
Next
e.Form.Controls("Panel1").AddControl(txt)

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


加好友 发短信
等级:幼狐 帖子:83 积分:733 威望:0 精华:0 注册:2016/12/2 15:17:00
  发帖心情 Post By:2019/9/5 13:19:00 [只看该作者]

最终想要个啥效果?

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


加好友 发短信
等级:超级版主 帖子:106242 积分:540333 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/5 13:48:00 [只看该作者]

自己设置不同的值,测试看效果,
Dim txt As WinForm.Button
For i As Integer = 1 To 2
    Dim r As WinForm.Control = Forms("动态添加控件").Controls("Button" & i)
    r.Top = 8      
    r.Height=85    
    r.Width = 比如设置为50,是怎么样的,改为60又是怎么样的
    r.left = 60 + 120 * (i-1)              同样道理,如果120改为100、90,80 ,100,130,140效果分别是怎么样的,调整好自己觉得合适的位置                             
Next
e.Form.Controls("Panel1").AddControl(txt)

 回到顶部
帅哥哟,离线,有人找我吗?
江南小镇
  26楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1701 积分:11355 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2019/9/5 14:33:00 [只看该作者]

老师,我的意思是代码报错。

.NET Framework 版本:4.0.30319.1026
Foxtable 版本:2019.8.29.1
错误所在事件:窗口,窗口3,AfterLoad
详细错误信息:
Object reference not set to an instance of an object.



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


加好友 发短信
等级:超级版主 帖子:106242 积分:540333 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/5 14:35:00 [只看该作者]

调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm

自己调试是哪一句代码有问题

 回到顶部
帅哥哟,离线,有人找我吗?
江南小镇
  28楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1701 积分:11355 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2019/9/5 16:30:00 [只看该作者]

老师,找不出错误原因。


Dim txt1 As WinForm.Button
MessageBox.Show(1)
For i As Integer = 1 To 5
MessageBox.Show(2)
    Dim r As WinForm.Control = Forms("窗口3").Controls("Button" & i)
MessageBox.Show(3)
    r.Top = 8     
MessageBox.Show(4) 
    r.Height=85   
MessageBox.Show(5) 
    r.Width = 50   '比如设置为50,是怎么样的,改为60又是怎么样的
MessageBox.Show(6)
    r.left = 60 + 120 * (i-1)              '同样道理,如果120改为100?90,80 ,100,130,140效果分别是怎么样的,调整好自己觉得合适的位置
MessageBox.Show(7)                             
Next
e.Form.Controls("Panel3").AddControl(txt1)
MessageBox.Show(8)

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


加好友 发短信
等级:超级版主 帖子:106242 积分:540333 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/5 16:43:00 [只看该作者]

哪个提示框之后出错的?

 回到顶部
帅哥哟,离线,有人找我吗?
江南小镇
  30楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1701 积分:11355 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2019/9/5 17:37:00 [只看该作者]

MessageBox.Show(7)  提示后(跳过8)MessageBox.Show(8)  不提示了

 回到顶部
总数 33 上一页 1 2 3 4 下一页