Как исправить событие Click при использовании нескольких меток в форме для отображения из списка - PullRequest
0 голосов
/ 10 апреля 2019

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

Private Sub listParameters_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles lblParameter.MouseDown, lblParameter2.MouseDown, lblParameter3.Click, lblParameter4.Click, _
    lblParameter5.Click, lblParameter6.Click, lblParameter7.Click, lblParameter8.Click, lblParameter9.Click, lblParameter10.Click, lblParameter11.Click, lblParameter12.Click, lblParameter13.Click, lblParameter14.Click, lblParameter15.Click, _
           lblParameter16.Click, lblParameter17.Click, lblParameter18.Click, lblParameter19.Click, lblParameter20.Click, lblParameter21.Click, lblParameter22.Click, lblParameter23.Click, lblParameter24.Click, lblParameter25.Click, _
           lblParameter26.Click, lblParameter27.Click, lblParameter28.Click, lblParameter29.Click, lblParameter30.Click, lblParameter31.Click, lblParameter32.Click, lblParameter33.Click, lblParameter34.Click, lblParameter35.Click, _
    ListParameters.SelectedIndexChanged



    Select Case sender.Name
        Case "lblParameter"

            lblParameter.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter2"
            lblParameter2.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue2.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter3"
            lblParameter3.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue3.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter4"
            lblParameter4.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue4.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter5"
            lblParameter5.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue5.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter6"
            lblParameter6.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue6.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter7"
            lblParameter7.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue7.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter8"
            lblParameter8.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue8.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter9"
            lblParameter9.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue9.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter10"
            lblParameter10.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue10.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter11"
            lblParameter11.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue11.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter12"
            lblParameter12.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue12.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter13"
            lblParameter13.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue13.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter14"
            lblParameter14.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue14.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter15"
            lblParameter15.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue15.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter16"
            lblParameter16.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue16.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter17"
            lblParameter17.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue17.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter18"
            lblParameter18.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue18.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter19"
            lblParameter19.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue19.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter20"
            lblParameter20.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue20.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter21"
            lblParameter21.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue21.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter22"
            lblParameter22.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue22.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter23"
            lblParameter23.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue23.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter24"
            lblParameter24.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue24.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter25"
            lblParameter25.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue25.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter26"
            lblParameter26.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue26.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter27"
            lblParameter27.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue27.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter28"
            lblParameter28.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue28.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter29"
            lblParameter29.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue29.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter30"
            lblParameter30.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue30.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter31"
            lblParameter31.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue31.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter32"
            lblParameter32.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue32.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter33"
            lblParameter33.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue33.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter34"
            lblParameter34.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue34.Text = ListParameters.SelectedItem("Metric Conversion").ToString

        Case "lblParameter35"
            lblParameter35.Text = ListParameters.SelectedItem("Medium Name").ToString
            lblValue35.Text = ListParameters.SelectedItem("Metric Conversion").ToString

    End Select
End Sub

1 Ответ

0 голосов
/ 10 апреля 2019

Вот пример того, о чем я говорю, который должен значительно сократить ваш код. Вам нужно будет перейти к каждому из параметров lblParameters и в свойстве .Tag указать имя соответствующей метки значения (т. Е. LblValue для параметра, lblValue2 для параметра2 и т. Д.). Чтобы проверить это, выделите выделенную группу случаев и отметьте это и вставьте в этот подпункт следующее.

    Dim clickedLabel As Label = DirectCast(sender, Label)
    clickedLabel.Text = ListParameters.Text
    DirectCast(Me.Controls(clickedLabel.Tag.ToString), Label).Text = ListParameters.SelectedValue.ToString

Как видите, приведение отправителя к метке и установка его свойства .Text, а затем приведение элемента управления с именем в теге обратно к метке и установка его свойства .Text.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...