1

4つのチェックボックスがあり、そのうちの1つがチェックされている場合、そのテキストをラベルに入れたいと思います.

私の問題は、1 つのボックスがチェックされているときです。そのテキストはラベルに含まれているだけで、他のチェックされているものは含まれていません。改行テキストをラベルに入れるためにチェックされている各ボックスに改行を入れたいです。

プログラムにチェックボックスを通過させるにはどうすればよいでしょうか。チェックボックスがチェックされている場合は、そのテキストをラベルに入れ、次のボックスをチェックすると、新しい行を開始してそこにそのテキストを入れますか?

ボタン クリック イベントの下に配置します。

4

3 に答える 3

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
于 2013-03-28T00:47:52.987 に答える
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
于 2013-03-28T06:01:59.063 に答える
0

すべてのCheckBoxes を同じコンテナーに入れます。この例では、それらはすべて に含まれていますPanel1。これにより、チェックされている esのすべてのTextプロパティが取得され、. 何も選択されていない場合は、がスローされます (Sequence には要素が含まれていません)。CheckBoxTextLabel1.TextException

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
于 2013-03-28T05:44:40.913 に答える