У меня есть кнопка ленты, которая появляется на tabNewMailMessage в форме составления электронной почты Outlook, эта кнопка переключает видимость CustomTaskPane, прикрепленного к стороне формы.
В обычной практике все работает отлично. Но когда форма «Написать письмо» вызывается с помощью «Присоединить к электронной почте» или «Сохранить и отправить» из других приложений, таких как MS Word или Adobe Reader, кнопка появляется, но больше ничего не делает.
Я узнал из MSDN, что событие NewInspector, по-видимому, не запускается в случае внешнего вызова.
Я не смог найти обходных путей для этого случая, кто-нибудь здесь знает? (
РЕДАКТИРОВАТЬ: Кроме того, у меня есть класс Global (не скрытый класс GlobalS, который создает Visual Studio), который содержит некоторые переменные, которые я использую во всей программе. Аддин не будет загружать ничего, что содержится там вообще. Трудно сказать, что на самом деле загружается, если у кого-то есть дополнительная информация, пожалуйста, верните!
РЕДАКТИРОВАТЬ Снова: протестировано помещение строки в ThisAddIn и печать ее через блок сообщений в toggleButton, не работало. Если кто-то смущен, кнопка ленты не будет загружаться, если событие click невозможно выполнить, поэтому создается впечатление, что вызываемые извне формы Compose пропускают весь код в ThisAddIn и любой класс, который не является самой лентой.
Мне действительно нужна помощь, чтобы понять это! (
РЕДАКТИРОВАТЬ Еще раз: вот что я уже собрал, события запуска ThisAddIn не будут запускаться, никакие свойства во внешних классах не могут быть прочитаны, но внешние методы, такие как ThisAddIn.SayHelloWorld (), работают.
РЕДАКТИРОВАТЬ снова! :
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
//MessageBox.Show(,"TEST");
try
{
inspectors = Globals.ThisAddIn.Application.Inspectors;
inspectors.NewInspector += new InspectorsEvents_NewInspectorEventHandler(Inspectors_NewInspector);
foreach (Inspector insp in inspectors)
{
//insp.
Inspectors_NewInspector(insp);
}
}
catch (System.Exception ex)
{
List<string> lalala = new List<string>();
lalala.Add(ex.GetType().ToString());
lalala.Add(ex.Message);
lalala.Add(ex.StackTrace);
File.WriteAllLines(@"C:\outdebug",lalala.ToArray());
}
}
Опять! :
void Inspectors_NewInspector(Inspector Inspect)
{
try
{
if (Inspect.CurrentItem is MailItem)
{
Global.mail = Inspect.CurrentItem;
Global.inspectorWrappersValue.Add(Inspect, new InspectorWrapper(Inspect, Global.mail));
//inspectorw
}
}
catch (System.Exception ex)
{
List<string> lalala = new List<string>();
lalala.Add(ex.GetType().ToString());
lalala.Add(ex.Message);
lalala.Add(ex.StackTrace);
lalala.Add(Global.SiteConnectionManager.ToString());
File.WriteAllText(@"C:\Users\cat\Desktop\outdebug.txt", string.Join("\n", lalala), Encoding.UTF8);
}
}