Диагностирование ошибок CLR в Windows Event Viewer

Я думаю, что вы имели в виду .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
6
задан Thomas Weller 4 September 2015 в 20:39
поделиться

1 ответ

Той информации не достаточно для получения Вас отслеживание стека, тип исключительной ситуации, сообщение об ошибке, и т.д.

Можно настроить Windows Error Reporting (который показал Вам проблему и потребности закрыть UI) на Windows Server 2008, чтобы всегда собрать файл дампа, который можно затем отладить. Это не требует, чтобы Вы установили Visual Studio или любой другой отладчик в Вашей продуктивной среде.

http://blogs.technet.com/askperf/archive/2008/02/05/ws2008-windows-error-reporting.aspx показывает надлежащие настройки реестра, чтобы сделать это.

3
ответ дан 17 December 2019 в 18:20
поделиться
Другие вопросы по тегам:

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