动态生成M*N个文本框控件

liuleizhangliang 2003-07-18 09:55:34
我想在窗体上动态生成M*N个文本框控件,窗体只放输入文本框的行,列,和确定按扭,想了半天无法解决,高手帮忙,谢谢!!
...全文
38 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
of123 2003-07-18
  • 打赏
  • 举报
回复
Option Explicit
'首先在窗体上TextBox矩阵的左上角放置一个Text1
'设置Text1的Index属性 = 0

Const hSpace As Integer = 200 '列间距
Const vSpace As Integer = 200 '行间距

Private Sub Form_Load()
Dim m, n As Integer
Dim i, j As Integer

m = 4
n = 8

For j = 0 To m - 1
For i = 0 To n - 1
If i + j <> 0 Then
Load Text1(j * n + i)
Text1(j * n + i).Top = Text1(0).Top + (Text1(0).Height + vSpace) * i
Text1(j * n + i).Left = Text1(0).Left + (Text1(0).Width + hSpace) * j
Text1(j * n + i).Visible = True
End If
Text1(j * n + i).Text = "Text1(" & j * n + i & ")"
Next
Next
End Sub
ksmark 2003-07-18
  • 打赏
  • 举报
回复
试试看。
TaoHuang 2003-07-18
  • 打赏
  • 举报
回复
用下面的方法也可以動態加入Button和TextBox
Private WithEvents btnObj As CommandButton
Private WithEvents txtObj As TextBox
Set btnObj = Controls.Add("VB.CommandButton", "btnObj")
With btnObj
.Visible = True
.Width = 2000
.Caption = "Hello"
.Top = 1000
.Left = 1000
End With
Set txtObj = Controls.Add("VB.TextBox", "txtObj")
With txtObj
.Visible = True
.Width = 2000
.Text = "Hello"
.Top = 10
.Left = 10
End With
lxcc 2003-07-18
  • 打赏
  • 举报
回复
不如用网格控件
比如:datagrid,msflexgrid,mshflexgrid,listview等等
lihonggen0 2003-07-18
  • 打赏
  • 举报
回复

'先有form1上加一个text1 (0)

Private Sub Form_Load()
For i = 1 To 10
Load Text1(i)
Text1(i).Top = 400 * i + 200
Text1(i).Left = 20
Text1(i).Visible = True
Next
End Sub

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧