0

sQue.txt各行に 1 つの単語 (各行の各単語) を含み、各行に 1 つの単語を含むという名前の 2 つのテキスト ファイル sObj.txtがあります (ただし、エントリの数は sQue.txt よりもこのファイルの方が多くなります)。

ここで、上記の両方のファイルを読み取り、次のような方法で表示する空白のフォームがあります。

  1. sQue.txt ファイルの各エントリは、フォーム内の個別のラベルに表示されます

  2. ファイル sObj.txt のすべてのエントリは CheckedListBox に配置され、この CheckedListBox は、上記のポイント 1. で表示されたラベルごとに表示されます。

例:

sObj.txt contains 3 entries aaa, bbb & ccc (vertically i.e each in new line). sQue.txt contains 5 entries p,q,r,s & t (vertically i.e each in new line).

フォームが読み込まれると、テキスト aaa、bbb、ccc を含む 3 つのラベルが表示されます。また、3 つの CheckedListBoxes がp,q,r,s & t各ボックスに含まれていることがわかります。

それはできますか?私はまだ運がない解決策を見つけようとしています。

助けてください。

今まで私が持っているのは

Private Sub Form7_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim queue As String() = IO.File.ReadAllLines("C:\temp\sQue.txt")
    Dim objects As String() = IO.File.ReadAllLines("C:\temp\sObj.txt")

    For i = 0 To queue.Count - 1
    'create labels here
       For j=0 to objects.Count - 1
       'create CheckedListBoxes
       Next
    Next
End Sub
4

1 に答える 1

0

それは簡単にできます:

Private Sub Form7_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim theAppDirectory = IO.Path.GetDirectoryName(Application.ExecutablePath)

    Dim queue As String() = IO.File.ReadAllLines(theAppDirectory & "\que.txt")
    Dim objects As String() = IO.File.ReadAllLines(theAppDirectory & "\obj.txt")

    Dim top As Integer = 10
    Dim left As Integer = 10
    Dim I As Integer = 0
    Dim J As Integer = 0

    Dim aLabel As Label
    Dim aListCheckBox As CheckedListBox

    Dim aPanel As New Panel
    aPanel.Dock = DockStyle.Fill
    aPanel.Top = 0
    aPanel.Left = 0
    aPanel.AutoScroll = True

    For I = 0 To queue.Count - 1
        aLabel = New Label
        aLabel.Text = queue(I)
        aLabel.Top = top
        aLabel.Left = left

        aListCheckBox = New CheckedListBox
        aListCheckBox.Top = top
        aListCheckBox.Left = left + 100
        For J = 0 To objects.Count - 1
            aListCheckBox.Items.Add(objects(J), False)
            top += 20
        Next J

        'add event handlers here

        aPanel.Controls.Add(aLabel)
        aPanel.Controls.Add(aListCheckBox)
    Next I

    Me.Controls.Add(aPanel)
End Sub

これは、ファイルを実行可能ファイルと同じディレクトリに配置することを前提としています。

また、イベント ハンドラは追加されません。必要なイベント ハンドラーを決定し、コントロールを作成するときにそれらを追加する必要があります。

于 2013-05-28T20:03:29.660 に答える