我想在按钮的vb6中的表单上生成网格。我正在预订,所以我会假设为每个选项生成按钮(例如A1,E7等)将是最佳选择。
但是,我无法弄清楚如何实现这一目标。
我正在研究座位预订系统。所以我希望从通过数据库输入的座位数量生成网格(不应该真的很重要,但干草是什么)。
因此,例如,如果座位总数为100,我希望表单生成一个10x10的按钮网格。当单击其中一个按钮(每个按钮都是唯一的)时,我可以通过修改/添加座位到数据库中的保留表来保留它们。
试图找到所有地方的解决方案,但似乎在VB6中没有解决这个问题。
答案 0 :(得分:2)
请参阅下文,了解您的要求:
'1 form with
' 1 commandbutton: name=Command1 index=0
Option Explicit
Private Sub Command1_Click(Index As Integer)
Caption = CStr(Index)
End Sub
Private Sub Form_Load()
Dim lngIndex As Long
For lngIndex = 1 To 100
Load Command1(lngIndex)
Next lngIndex
For lngIndex = 0 To Command1.UBound
With Command1(lngIndex)
.Caption = CStr(lngIndex)
.Visible = True
End With 'With Command1(lngIndex)
Next lngIndex
End Sub
Private Sub Form_Resize()
Dim lngIndex As Long
Dim sngWidth As Single, sngHeight As Single
Dim lngRow As Long, lngCol As Long
sngWidth = ScaleWidth / 10
sngHeight = ScaleHeight / 10
For lngIndex = 0 To Command1.UBound
lngRow = lngIndex \ 10
lngCol = lngIndex Mod 10
Command1(lngIndex).Move lngCol * sngWidth, lngRow * sngHeight, sngWidth, sngHeight
Next lngIndex
End Sub
请注意,尽管对1张表格进行大量控制可能会大幅降低性能
如果座位布局很好,你可能最好使用(msflex)网格控件
另一种选择是加载座位图的图片并让用户点击图片,之后您可以使用X和Y坐标来确定点击了哪个座位......这样你也可以使用不同的座位图片中的颜色,并获得用户点击的颜色,以预先选择座位类型