| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2168 人关注过本帖
标题:vb中用代码建立1000个按钮,要求每行22个,如何写代码
只看楼主 加入收藏
natesc
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2013-9-15
结帖率:37.5%
收藏
已结贴  问题点数:20 回复次数:5 
vb中用代码建立1000个按钮,要求每行22个,如何写代码
vb中用代码建立1000个按钮,要求每行22个,如何写代码,能不能做得更好,每行按钮个数自动适应FORM宽度
搜索更多相关主题的帖子: vb 代码 建立 按钮 每行 
2017-07-02 16:00
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4938
专家分:30047
注 册:2008-10-15
收藏
得分:7 
以前做过。
在窗口大小被修改时 重排按钮位置
你的问题里有一个bug,每行22个与每行按钮个数自动适应FORM宽度 矛盾。

授人于鱼,不如授人于渔
早已停用QQ了
2017-07-02 16:44
natesc
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2013-9-15
收藏
得分:0 
回复 2楼 风吹过b
我的代码是这样的
Load (i)
(i).Visible = True
K = i \ 22
If K = 0 Then
(i).Left = (i - 1).Left + (i - 1).Width
(i).Top = (0).Top
End If
If K >= 1 Then
(i).Left = (i - 22 * K).Left + (i - 22 * K).Width
(i).Top = (0).Top + (0).Height * K
End If
(i).Caption = i
  但有问题,排列不整齐,应当如何修改
图片附件: 游客没有浏览图片的权限,请 登录注册
      

[此贴子已经被作者于2017-7-2 17:30编辑过]

2017-07-02 17:29
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:938
专家分:5244
注 册:2015-8-10
收藏
得分:7 
Lft=100  '初始Left数值
tp=200   '初始top数值
wdth=100  ' 按钮width
hgt=200   ' 按钮height

for i=1 to 1000
r= i \ 22
c= i mod 22
Load (i)
(i).Visible = True
(i).width=wdth
(i).height=hgt
(i).top= tp+ r * hgt
(i).Left = left + c * wdth
Next
2017-07-02 21:21
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:7 
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册
  
加了一个竖滚动条,可以显示全部1000个按钮
程序代码:
Private Sub Form_Load()
Dim K As Integer, P As Integer: K = 0
For I = 0 To 999
If I = 0 Then
Command1(0).Left = 120: Command1(0).Top = 120: Command1(0).Visible = True
K = 0
ElseIf I > 0 Then
Load Command1(I): Command1(I).Visible = True: Command1(I).Caption = I + 1
End If
If I Mod 22 = 0 Then
K = K + 1: P = 0
End If
P = P + 1
Command1(I).Left = 120 + (P - 1) * 600: Command1(I).Top = 120 + (K - 1) * 360
Next I
Frame1.Height = (K + 1) * 360
VScroll1.Min = 0: VScroll1.Max = 11600: VScroll1.LargeChange = 200: VScroll1.SmallChange = 200: VScroll1.Value = 0
End Sub

其实你的代码就是忽略了Command1(0)控件的位置,开始就是显示的是Command1(1),Command1(1)盖住了Command1(0)。
程序又优化了一下,增加了一个 VScroll1 滚动条控件,可以查看全部的1000个按钮了。

[此贴子已经被作者于2017-7-4 12:26编辑过]


请不要选我!!!
2017-07-03 11:07
natesc
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2013-9-15
收藏
得分:0 
版主的境界就是高,确实不错
2017-07-11 19:09
快速回复:vb中用代码建立1000个按钮,要求每行22个,如何写代码
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016573 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved