将文本从一个文本框复制到另一个表单上的文本框并在文本框之间进行排序

时间:2014-02-28 18:40:32

标签: vb.net textbox

我仍然在vb.net上学习,但我的主表单(form1)有2列。一个叫红色,另一个叫黄色。我有一个按钮打开一个表单(form2),它有一个文本框,允许用户输入某人的名字和一个组合框来选择颜色。当我们单击form2上的提交按钮时,我试图完成它,该名称将显示在form1的正确列中。 form1上的两种颜色都有自己的文本框。 Red有textbox1,Yellow有textbox2。任何人都可以协助我这样做吗?我正在使用Visual Studio 2010 VB.Net。谢谢!

丹尼

2 个答案:

答案 0 :(得分:0)

从简单的工作流角度来看,您可以让Form 2在Form 1上调用一个方法,并提供新的名称和颜色。然后,表单1将名称添加到正确的列。有许多方法可以解决这个问题 - 一种方法是让Form 1实例化表单2然后传入一个委托引用,该方法将采用名称和颜色的方法。

所以在表格1 -

Public Sub HandleAdd(name as String, color as String)
' Do Stuff Here.
End Sub

Public Sub AddPlayerButton_Click(sender as Object, e as EventArgs) Handles   AddPlayerButton.Click

Dim frm As New Form2
frm.AfterAdd = AddressOf HandleAdd
frm.Show
End Sub

表格2 -

Public Property AfterAdd As Action(of String, String)

Public Sub OKButton_Click(sender as Object, e as EventArgs) Handles OK.Click
   If AfterAdd IsNot Nothing Then AfterAdd(playerName.value, playerColor.value)
End Sub

或类似的东西。

答案 1 :(得分:0)

这么多方法......这是另一个方法。

表格1中的代码:

Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim f2 As New Form2
        If f2.ShowDialog = Windows.Forms.DialogResult.OK Then
            Select Case f2.ComboBox1.SelectedItem.ToString.ToLower
                Case "red"
                    TextBox1.AppendText(f2.TextBox1.Text & Environment.NewLine)

                Case "yellow"
                    TextBox2.AppendText(f2.TextBox1.Text & Environment.NewLine)

                Case Else
                    MessageBox.Show("Unkown Color!")

            End Select
        End If
    End Sub

End Class

并在表格2中:

Public Class Form2

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Me.DialogResult = Windows.Forms.DialogResult.Cancel
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        If TextBox1.TextLength > 0 AndAlso ComboBox1.SelectedIndex <> -1 Then
            Me.DialogResult = Windows.Forms.DialogResult.OK
        End If
    End Sub

End Class