麻烦大家了
vb吧
全部回复
仅看楼主
level 7
4573去 楼主
真是抱歉三请大佬
还是vb6
当我用
dim withevents创建部件时
想在一个窗体set两个部件就会提示已经有一个名为的部件
我想创建控件数组又不想用Load现有
该怎么办[泪]
2020年04月17日 15点04分 1
level 7
4573去 楼主
别沉
2020年04月17日 15点04分 2
吧务
level 14
不用load那就直接绘制呗[滑稽]
2020年04月17日 17点04分 3
level 15
VB本身对控件数组的内部实现貌似就挺奇葩的[滑稽]
当一个控件变成控件数组之后,这个控件的名称就不再是控件类型了,而是一种特殊的集合类型(并不是VB内部提供的Collection类型,虽然控件数组和Collection类都有Count和Item这两种方法,但是Collection的另外两个方法是Add和Remove,而控件数组的另外两个方法是LBound和UBound)
所以,VB并没有提供运行时创建控件数组的方法,你要么自己想办法模拟控件数组,要么就查一下控件数组的资料,看看有没有代码实现的方法吧
2020年04月17日 23点04分 4
哇看起来好费劲的样子
2020年04月18日 00点04分
level 12
谁有好的方法
2020年04月18日 05点04分 5
?
2020年04月18日 05点04分
吧务
level 13
为什么要在运行过程中创建多个控件?不会是想一个窗体实现多个功能吧。
建议还是用【菜单】来选择打开不同的窗体,来实现不同功能的操作。
2020年04月18日 05点04分 6
在写编译器要做功能啦
2020年04月18日 14点04分
level 11
按3楼的方法visible呢。
2020年04月18日 15点04分 7
要动态创建99*n个怎么可能一个一个写
2020年04月19日 00点04分
吧务
level 13
' 以下代码可以自动生成两个按钮,仅供参考。
Option Explicit
Dim WithEvents Command1 As CommandButton
Dim WithEvents Command2 As CommandButton
Private Sub Form_Load() ' 创建控件
Dim i As Integer, obj As Object
Me.Caption = "创建按钮"
Set Command1 = Controls.Add("VB.CommandButton", "Command1", Form1)
With Command1
.Visible = True
.Width = 400
.Height = 400
.Left = 0
.Top = 0
.Caption = "1"
End With
Set Command2 = Controls.Add("VB.CommandButton", "Command2", Form1)
With Command2
.Visible = True
.Width = 400
.Height = 400
.Left = 400
.Top = 0
.Caption = "2"
End With
End Sub
2020年04月19日 02点04分 8
受罗森老师的启示,我有一个解决方案。楼主的意图不就是用代码创建窗体嘛,所谓窗体、以及窗体上的控件,事实上就是一个frm文件,本质上是txt文件。可以用写txt文件的方法创建呀,何愁不成?
2020年04月19日 03点04分
这个方法简单,只要对【frm】文件的结构稍加研究,就可以了。
2020年04月19日 03点04分
@Luosen56 是,这个创建我会,但是我想把支持搞到动态生成量最高99,而我不想一个一个创建,所以想知道控件数组怎么弄[泪]
2020年04月20日 02点04分
@璐村惂鐢ㄦ埛_0748V5Z馃惥 frm文件是编译前的。
2020年05月24日 11点05分
level 7
4573去 楼主
应该没坟吧……后来发现控件组解决的确超级方便
2020年05月24日 09点05分 9
level 8
你们理解能力真强,我看不懂他要什么
2020年05月24日 11点05分 10
level 9
把用WithEvents生成控件写成类,创建类的实例(是这个词吧?)时,是可以创建为数组的。
2020年05月26日 00点05分 11
啊这样的啊……好像是的呀,谢谢
2020年05月26日 02点05分
@4573去 你是怎么解决的呢?
2020年05月28日 00点05分
@klimaa 我是直接先创建一个实例,然后手动设置一下Index,然后就使用Load这个样子
2020年05月28日 02点05分
@4573去 就是先让它成为数组,再加?哈哈,这个办法简单~~
2020年05月28日 03点05分
1