VB.Net - заполнение списка через текстовый файл, но программа должна сначала создать файл [duplicate]

Если вы используете только функцию mail(), вам нужно заполнить конфигурационный файл.

Вам нужно открыть расширение почты и установить SMTP smtp_port и т. д., и самое главное, ваше имя пользователя и пароль. Без этого почта не может быть отправлена. Кроме того, вы можете использовать класс PHPMail для отправки.

0
задан Plutonix 20 March 2016 в 02:33
поделиться

1 ответ

Вы можете либо использовать логический флаг, указывающий, когда он «безопасен» для обработки события, либо вы можете использовать альтернативный синтаксис для добавления обработчика событий ПОСЛЕ загрузки формы, и вся инициализация была выполнена.

Для этого вы используете синтаксис AddHandler:

AddHandler combobox.SelectedIndexChanged, AddressOf combobox_SelectedIndexChanged

Надеемся, что это поможет

EDIT:

Используя синтаксис AddHandler вы должны убедиться, что НЕ добавить предложение Handles к объявлению обработчика события:

Private Sub combobox_SelectedIndexChanged(sender As Object, e As EventArgs) 
'you event handler code
End Sub

Затем, как правило, в конце переопределения OnLoad формы вы будете использовать AddHandler :

Public Class Form1

    Protected Overrides Sub OnLoad(e As EventArgs)
        MyBase.OnLoad(e)

        ' Initialization code/whatever

        AddHandler ComboBox1.SelectedIndexChanged, AddressOf combobox_SelectedIndexChanged

    End Sub

    Private Sub combobox_SelectedIndexChanged(sender As Object, e As EventArgs)
    'Your event handler code
    End Sub

End Class
1
ответ дан Luc Morin 21 August 2018 в 08:09
поделиться
  • 1
    Я думаю, что обработчики событий ТОЛЬКО могут быть добавлены автоматически. Как я могу остановить их добавление автоматически, а затем добавить их в функцию загрузки формы? – BAE 20 March 2016 в 03:02
  • 2
    Просто не добавляйте предложение Handles combobox.SelectedIndexChanged в объявление вашего обработчика. – Luc Morin 20 March 2016 в 03:04
  • 3
    Если необходимо, вы можете использовать RemoveHandler для удаления обработчика события. Это дает вам прекрасный контроль над вызовом обработчика (или нет). Вы можете добавлять и удалять их динамически в своем коде по мере необходимости. – Luc Morin 20 March 2016 в 03:12
  • 4
    @LucMorin другой вариант вместо флага или беспорядок с обработчиками - использовать SelectionChangeCommited Event , поскольку это событие возникает только тогда, когда пользователь меняет выбранный элемент. – Codexer 20 March 2016 в 03:53
  • 5
    Хорошее решение, как и любое другое, но должно признать, что @Codexer упомянул о наилучшем подходе, и, по моему мнению, динамическое добавление / удаление обработчиков событий должно рассматриваться только для объектов, которые создаются динамически, в противном случае это отправная точка чтобы создать какой-то код spaguetti, тогда я считаю это плохой практикой (потому что на самом деле не требуется динамически связать обработчики событий вместо использования предложения Handles в этом сценарии). – ElektroStudios 20 March 2016 в 05:06
Другие вопросы по тегам:

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