Запуск события в VB на основе изменения элемента управления в групповом поле

Популярная опция, указывающая на переход в режим Вставки (и обратно в обычный режим), переключает параметр cursorline, который отвечает за выделение текущей строки экрана.

:autocmd InsertEnter,InsertLeave * set cul!

или

:autocmd InsertEnter * set cul
:autocmd InsertLeave * set nocul
0
задан scronin18 18 March 2019 в 14:56
поделиться

1 ответ

Я думаю, что вы имели в виду .ValueChanged для NumericUpDown контроля. (Нет .CheckedChanged). Хотя в данном случае это не имеет большого значения, это хороший пример для дальнейшего использования. Вместо вызова события вызовите Sub из ваших событий.

Если у вас есть несколько элементов управления, отвечающих на один обработчик события, вы можете узнать, какой элемент управления вызвал событие, проверив параметр отправителя. Поскольку, как вы можете видеть, sender является Object, вам придется привести его к соответствующему типу, чтобы получить свойства CheckBox.

Private Sub HideSaveButton()
    btnSave.Hide
End Sub

Private Sub CheckBoxInGroupBox_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged, CheckBox2.CheckedChanged
    HideSaveButton()
    Dim WhichCheckBox As CheckBox = DirectCast(sender, CheckBox)
    Select Case WhichCheckBox.Name
        Case "CheckBox1"
            MessageBox.Show("CheckBox1 has changed")
        Case "CheckBox2"
            MessageBox.Show("CheckBox2 has changed")
    End Select
End Sub

Private Sub NumericUpDown1_ValueChanged(sender As Object, e As EventArgs) Handles NumericUpDown1.ValueChanged
    HideSaveButton()
End Sub
0
ответ дан Mary 18 March 2019 в 14:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: