1

読んでくれてありがとう。私は8列からなるリストを作成するプログラムを書いています。したがって、8つのリストボックスとそれぞれの下にテキストボックスがあります。誰かが空かどうか、各テキストボックスを1つずつチェックしたいと思います。...そしてそれを行う方法がわからない!

あなたの助けが必要です!ありがとう

4

1 に答える 1

1

8つのリストボックスを使用する代わりに、flexgridコントロールの使用を検討することもできます

ただし、8つのリストボックスと8つのテキストボックスを使用して、それらを配列として作成し、次のように確認できます。

'1 form with with
'    1 listbox : name=List1   index=0
'    1 textbox : name=Text1   index=0
'    1 commandbutton : name=Command1

Option Explicit

Private Sub Command1_Click()
  If IsEmpty Then
    MsgBox "Textboxes are all empty", vbInformation, "IsEmpty"
  Else
    MsgBox "At least 1 Textbox is not empty", vbInformation, "IsEmpty"
  End If
End Sub

Private Sub Form_Load()
  Dim intIndex As Integer
  For intIndex = 1 To 7
    Load List1(intIndex)
    Load Text1(intIndex)
    List1(intIndex).Visible = True
    Text1(intIndex).Visible = True
  Next intIndex
  Move 0, 0, 10000, 10000
End Sub

Private Function IsEmpty() As Boolean
  Dim intIndex As Integer
  Dim blnEmpty As Boolean
  blnEmpty = True
  For intIndex = 0 To Text1.Count - 1
    If Len(Text1(intIndex).Text) > 0 Then
      blnEmpty = False
      Exit For
    End If
  Next intIndex
  IsEmpty = blnEmpty
End Function

Private Sub Form_Resize()
  Dim intIndex As Integer
  Dim sngWidth As Single
  Dim sngListWidth As Single, sngListHeight As Single
  Dim sngTextHeight As Single
  Dim sngCmdHeight As Single
  sngWidth = ScaleWidth
  sngListWidth = sngWidth / List1.Count
  sngTextHeight = 315
  sngCmdHeight = 315
  sngListHeight = ScaleHeight - sngTextHeight - sngCmdHeight
  For intIndex = 0 To List1.Count - 1
    List1(intIndex).Move intIndex * sngListWidth, 0, sngListWidth, sngListHeight
    Text1(intIndex).Move intIndex * sngListWidth, sngListHeight, sngListWidth, sngTextHeight
  Next intIndex
  Command1.Move 0, sngListHeight + sngTextHeight, sngWidth, sngCmdHeight
End Sub
于 2012-11-14T06:41:16.537 に答える