通过代码动态生成按钮



我想在按钮的 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 坐标来确定单击了哪个座位......这样,您还可以在图片中使用不同的颜色,并获得用户单击以预选座位类型的颜色

最新更新