2013-03-28 2 views
1

4 개의 확인란이 있으며 그 중 하나가 선택되어 있으면 해당 텍스트를 레이블에 넣고 싶습니다.확인란을 여러 줄 텍스트를 레이블에 넣습니다.

내 문제는 하나의 상자를 선택하면 레이블에 텍스트가 있지만 다른 체크 상자에는 텍스트가있는 것입니다. 새 줄 텍스트를 레이블에 넣으려는 각 상자에 대해 새 줄을 지정하고 싶습니다.

어떻게 프로그램을 체크 박스를 통과하게 할 수 있습니까? 그리고 체크 박스가 선택된 경우 텍스트를 라벨에 넣고 다음 체크 박스를 선택하여 새 라인을 시작하고 거기에 텍스트를 넣으시겠습니까?

버튼 클릭 이벤트를받습니다.

답변

2

빠르고 더럽지 만, 내가 무엇을 요구하는지 이해하면 제대로 작동합니다.

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 

    Label1.Text = "" 

    If (CheckBox1.Checked) Then 
     Label1.Text &= CheckBox1.Text & vbCrLf 
    End If 

    If (CheckBox2.Checked) Then 
     Label1.Text &= CheckBox2.Text & vbCrLf 
    End If 

    If (CheckBox3.Checked) Then 
     Label1.Text &= CheckBox3.Text & vbCrLf 
    End If 

    If (CheckBox4.Checked) Then 
     Label1.Text &= CheckBox4.Text & vbCrLf 
    End If 

    End Sub 
+0

감사합니다! 그러나 vbCrLF는 무엇을 의미합니까? 돌고래 배우기 –

+0

vbCrLf는 캐리지 리턴 라인 피드입니다. 문자열에서 탭 들여 쓰기를하려면 vbTab을 사용해야합니다. Dim strHello As String = "Hello"& vbTab & "World!". –

0

모든 컨테이너는 CheckBox입니다. 이 예에서는 모두 Panel1 안에 들어 있습니다. 검사 할 CheckBox es의 모든 Text 속성을 가져오고 TextLabel1.Text에 넣습니다. 아무것도 선택하지 않으면 Exception이 던져집니다 (시퀀스에는 요소가 없습니다).

Try 
    Label1.Text = Panel1.Controls.OfType(Of CheckBox). _ 
     Where(Function(arg) arg.Checked). _ 
     Select(Function(arg) arg.Text). _ 
     Aggregate(Function(aggregate, nextItem) aggregate & Environment.NewLine & nextItem) 
Catch ex As Exception 
    Label1.Text = "Nothing selected" 
End Try 
0

이 코드를 시도

[참고 :IDE으로 테스트]

Private Sub Common_Cheked_Change_Handler(ByVal sender As System.Object, _ 
ByVal e As System.EventArgs) Handles _ 
CheckBox1.CheckedChanged, CheckBox2.CheckedChanged, _ 
CheckBox3.CheckedChanged, CheckBox4.CheckedChanged 

     Label1.Text = String.Empty 

     Label1.Text = If(CheckBox1.Checked = True, CheckBox1.Text & vbCrLf, String.Empty) & _ 
     If(CheckBox2.Checked = True, CheckBox2.Text & vbCrLf, String.Empty) & _ 
      If(CheckBox3.Checked = True, CheckBox3.Text & vbCrLf, String.Empty) & _ 
      If(CheckBox4.Checked = True, CheckBox4.Text, String.Empty) 

End Sub 
관련 문제