1. Создайте backgroundWorker
Создайте экземпляр backgroundWorker, добавив его через Toolbox под компонентами.
2. В конструкторе формы
Поместите только что добавленный экземпляр backgroundWorker в конструктор класса формы:
public Form1()
{
InitializeComponent();
outlookWorker.DoWork += new DoWorkEventHandler(outlookWorker_DoWork);
}
3. RunWorkAsyn c
Добавьте метод RunWorkerAsyn c через экземпляр backgroundWorker в событие button_click для кнопки, которая должна открывать окно Outlook:
private void button1_Click(object sender, EventArgs e)
{
outlookWorker.RunWorkerAsync();
}
4. Открытие окна Outlook
Добавьте ранее написанный код для создания экземпляра окна Outlook в событии DoWork для backgroundWorker:
private void outlookWorker_DoWork(object sender, DoWorkEventArgs e)
{
Outlook.Application outlookApp = new Outlook.Application();
Outlook.MailItem mailMessage = (Outlook.MailItem)outlookApp.CreateItem(Outlook.OlItemType.olMailItem);
mailMessage.Subject = "test@mail.us";
mailMessage.HTMLBody = "test";
mailMessage.Display(true);
}
Теперь вы можете sh любую кнопку или выполнить дополнительные действия в форме после открытия окна Outlook.
Надеюсь, это помогло вам достичь вашей цели.
Источники
- https://docs.microsoft.com/en-us/dotnet/api/system.componentmodel.backgroundworker?view=netcore-3.1