Это зависит от версии Вашего сервера БД, но современные версии SQL могут кэшировать план так или иначе. Я сказал бы, идут с тем, что является самым удобным в сопровождении с Вашим кодом доступа к данным.
Вероятно, вы можете добавить обработчик события отправки элемента во внутренний метод запуска ThisAddIn, а затем в событии отправки элемента вызвать настраиваемую форму ( форма окна). В приведенном ниже примере я вызываю настраиваемую форму окна как модальный диалог перед отправкой элемента электронной почты и после нажатия кнопки отправки.
private void InternalStartup()
{
this.Application.ItemSend += new ApplicationEvents_11_ItemSendEventHandler(Application_ItemSend);
}
void Application_ItemSend(object Item, ref bool Cancel)
{
if (Item is Microsoft.Office.Interop.Outlook.MailItem)
{
Microsoft.Office.Interop.Outlook.MailItem currentItem = Item as Microsoft.Office.Interop.Outlook.MailItem;
Cancel = true;
Forms frmProject = new ProjectForm();;
DialogResult dlgResult = frmProject.ShowDialog();
if (dlgResult == DialogResult.OK)
System.Windows.Forms.SendKeys.Send("%S"); //If dialog result is OK, save and send the email item
else
Cancel = false;
currentItem.Save();
currentItem = null;
}
}