我想在按钮的 vb6 表单上生成一个网格。我正在处理预订,所以我假设为每个选择(例如 A1、E7 等)生成按钮将是要走的路。
但是,我一直无法弄清楚如何做到这一点。
我正在研究座位预订系统。所以我希望网格是由通过数据库输入的座位数生成的(应该不重要,但干草是什么)。
因此,例如,如果座位总数为 100,我希望表单生成一个 10x10 的按钮网格。当单击其中一个按钮(每个按钮都是唯一的)时,我将能够通过修改/将座位添加到数据库中的保留表中来保留它们。
一直在尝试到处寻找解决方案,但在 VB6 中似乎没有修复答案。
请参阅下面的内容以了解您的要求:
'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 坐标来确定单击了哪个座位......这样,您还可以在图片中使用不同的颜色,并获得用户单击以预选座位类型的颜色