2014-02-28 2 views
0

나는 여전히 vb.net에서 배우고 있지만 기본 폼 (form1)에는 2 개의 열이 있습니다. 하나는 빨간색이라고하고 다른 하나는 노란색이라고 불렀습니다. 나는 사용자가 누군가의 이름을 넣을 수있는 텍스트 상자와 색상을 선택하는 콤보 상자가있는 양식 (form2)을 여는 단추가 있습니다. form2의 submit 버튼을 클릭했을 때 그것을 달성하기 위해 무엇을하려고하는지, 이름은 form1의 적절한 열에 나타날 것입니다. form1의 두 색상 모두 그 아래에 자체 텍스트 상자가 있습니다. 빨간색에는 textbox1이 있고 yellow에는 textbox2가 있습니다. 누구든지이 일을 어떻게 할 것인지에 대해 도움을 줄 수 있습니까? Visual Studio 2010 VB.Net을 사용하고 있습니다. 감사!!텍스트를 한 텍스트 상자에서 다른 폼으로 복사하고 텍스트 상자간에 정렬

대니

간단한 워크 플로우 관점에서
+0

그래서입니다 TextBox1에와 TextBox2를 멀티 라인 텍스트 상자 ... 그리고 당신은 단순히 올바른에 Form2를에 입력 한 이름을 추가? 하나를 기반으로 선택한 색깔? –

+0

예 textbox1과 textbox2 둘 다 여러 줄로되어 있습니다. 예 : form2에 입력하고 선택한 내용을 기반으로 form1의 색상별로 정렬 된 이름을 원합니다. – Danny

답변

0

이렇게하는 방법은 여러 가지가 있습니다. 여기 또 다른 방법이 있습니다. Form1에있는

코드 :

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 
+0

고맙습니다.이 기능이 완벽하게 작동합니다. – Danny

0

, 당신은 양식 2 호 서식 (1)의 방법을 가지고 새 이름과 색상을 제공 할 수 있습니다. 양식 1은 올바른 C 럼에 이름을 추가합니다. 이 문제를 처리 할 수있는 방법은 여러 가지가 있습니다. 하나는 양식 1에 양식 2를 인스턴스화 한 다음 이름과 색을 사용하는 메서드에 대한 대리자 참조를 전달하는 것입니다.

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

.

관련 문제