1

フォームにタブがあります。フォームの読み込み時に、テキスト ファイルからテキストを 1 行ずつ取得し、フォームの Tabcontrol Tabpage にラベルとして表示し、その横にボタンを動的に表示します。これらのボタンで、関連するラベルのテキストをコピーしたいをクリックします。Nextbtn_Clickイベントに何を入れるかを提案できる人はいますか?

Dim FILE_NAME As String = "D:\1.txt"    
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim i As Integer = 1
    For Each line As String In System.IO.File.ReadAllLines(FILE_NAME)
        Dim NextLabel As New Label
        Dim Nextbtn As New Button
        NextLabel.Text = line
        Nextbtn.Text = "Copy"
        NextLabel.Height = 22
        Nextbtn.Width = 55
        Nextbtn.Height = 22
        NextLabel.BackColor = Color.Yellow
        TabPage2.Controls.Add(NextLabel)
        TabPage2.Controls.Add(Nextbtn)
        NextLabel.Location = New Point(10, 10 * i + ((i - 1) * NextLabel.Height))
        Nextbtn.Location = New Point(120, 10 * i + ((i - 1) * Nextbtn.Height))
        AddHandler Nextbtn.Click, AddressOf Me.Nextbtn_Click
        i += 1
    Next
End Sub

Private Sub Nextbtn_Click(sender As Object, e As EventArgs)

End Sub
4

2 に答える 2

1

asc を格納します。タグプロパティのラベルを変更すると、ボタンをクリックしたときにキャストバックできます。送信者オブジェクトは、現在クリックされているボタンです。

Dim FILE_NAME As String = "D:\1.txt"    
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim i As Integer = 1
    For Each line As String In System.IO.File.ReadAllLines(FILE_NAME)
        Dim NextLabel As New Label
        Dim Nextbtn As New Button
        Nextbtn.Tag = NextLabel
        NextLabel.Text = line
        Nextbtn.Text = "Copy"
        NextLabel.Height = 22
        Nextbtn.Width = 55
        Nextbtn.Height = 22
        NextLabel.BackColor = Color.Yellow
        TabPage2.Controls.Add(NextLabel)
        TabPage2.Controls.Add(Nextbtn)
        NextLabel.Location = New Point(10, 10 * i + ((i - 1) * NextLabel.Height))
        Nextbtn.Location = New Point(120, 10 * i + ((i - 1) * Nextbtn.Height))
        AddHandler Nextbtn.Click, AddressOf Me.Nextbtn_Click
        i += 1
    Next
End Sub

Private Sub Nextbtn_Click(sender As Object, e As EventArgs)
    Dim s As String = DirectCast(DirectCast(sender, Button).Tag, Label).Text
End Sub
于 2013-09-14T17:33:28.477 に答える