Итак, что я пытаюсь сделать, так это создать MessageBox, когда нажимается Button1 с выбранными Radiobuttons и Checkboxes на нем.

Вот такой дизайн:

[Picture]

И я хочу, чтобы результат был примерно таким:

enter image description here

Спасибо

-1
Cron Dexile 31 Июл 2017 в 14:18
Итак, вы хотите получить текст отмеченных флажков или их статус?
 – 
Mousa Alfhaily
31 Июл 2017 в 14:21
Да, что-то подобное на Картинке2. Просто текст выбранных RadioButtons и CheckBox.
 – 
Cron Dexile
31 Июл 2017 в 14:22
Да, это можно сделать, я дам вам ответ.
 – 
Mousa Alfhaily
31 Июл 2017 в 14:30
2
Альфхайли: Пожалуйста, не поощряйте использование SO в качестве бесплатной службы написания кода.
 – 
David G
31 Июл 2017 в 14:31
1
Альфхейли: Не поймите меня неправильно, то, что вы хотите делать его домашнее задание, - это здорово. Но это не то, чем должно быть SO. Нам не нужны вопросы типа «Вот текст для моего задания, дайте мне код», и не следует поощрять людей их задавать. Просто как тот.
 – 
David G
31 Июл 2017 в 15:21

2 ответа

Этот код даст вам результат точно так же, как на рисунке 2 выше:

Dim Toppings As String = "Toppings:" & VbCrlf
Dim TSize As String = "Size:"
Dim CrustType As String = "Crust Type:"

Здесь, когда вы нажимаете кнопку Button1, когда имя groubBox, содержащего начинки, - «ToppingsGroupBox» и то же самое для других групповых ящиков:

For Each CB As CheckBox In ToppingsGroupBox.Controls
    If CB.Checked Then
        Toppings &= "-" & CB.Text & VbCrlf
    End If
End Each

For Each RB As RadioButton In SizesGroupBox.Controls
    If RB.Checked Then
        TSize &= RB.Text
    End If
End Each

For Each RB As RadioButton In CurstTypeGroupBox.Controls
    If RB.Checked Then
        CurstType &= RB.Text
    End If
End Each

If DineInRadioBox.Checked Then
    MsgBox(TSize & VbCrlf & CurstType & Toppings & "*Dine In")
Else
    MsgBox(TSize & VbCrlf & CurstType & Toppings & "*Take Out")
End If

Надеюсь, это вам поможет :)

0
Mousa Alfhaily 31 Июл 2017 в 15:14

Лучший способ сделать это - пройтись по элементам управления групповым ящиком и проверить, отмечены ли флажки, и, если да, добавить это к некоторой строке. И после того, как все ваши проверки будут завершены, отобразите строку с помощью окна сообщений. Просто как есть. свет к решениям, пожалуйста, просмотрите приведенный ниже код

Цикл через элементы управления

        Dim strfinal As String
        For Each gb As Control In Me.Controls
            If gb.GetType() Is GetType(GroupBox) Then
                Dim str As String
                str = gb.Text
                For Each c As CheckBox In gb.Controls
                    If c.Checked = True Then
                        str = str + vbNewLine + c.Text
                    End If
                Next
                If str <> "" Then
                    strfinal = strfinal + vbNewLine + str
                End If
            End If
        Next

И отображение в окне сообщений

If strfinal <> "" Then
            MessageBox.Show(strfinal, "somecaption", MessageBoxButtons.OK)
End If

Надеюсь это поможет.

0
akhil kumar 31 Июл 2017 в 14:39