Событие после сохранения встречи в Outlook

Я пишу Outlook Add -и хочу сделать что-то (, не относящееся к делу ), с данными о назначении после (, когда )оно было сохранено.
( я новичок в Outlook -Надстройки)
поэтому я обнаружил, что существует событие AfterWrite , где я могу зарегистрировать метод. И есть событие ItemLoad в Application .

так что мой первый Efford был примерно таким:

private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
    //...
    this.Application.ItemLoad += 
        new Outlook.ApplicationEvents_11_ItemLoadEventHandler(atItemLoad);
}
public void atItemLoad(Object item)
{
    Outlook.AppointmentItem aitem = item as Outlook.AppointmentItem;
    if (aitem != null)
    {
        aitem.AfterWrite += 
            new Outlook.ItemEvents_10_AfterWriteEventHandler(afterWrite);
    }
}
public void afterWrite()
{
    // Who was written?
    MessageBox.Show("it was written!");
}

Проблема в том, что я не знаю, как получить данные о встрече, вызвавшей событие. Application.ItemLoad регистрирует функцию, которая получает объект, который можно привести к назначению .
AfterWrite нет. Я бы хотел что-то вроде этого:

public void afterWrite(Outlook.AppointmentItem aitem)
{
    // do something with the data from the Appointment
    MessageBox.Show(aitem.Subject + " was written!");
}

Я боюсь, что веду исследования в совершенно неправильном направлении..

*извините, если мой английский хромает -это не мой родной язык

редактировать:

я даже пробовал такую ​​конструкцию:

private List<AppointmentEventHolder> holderList = new List<AppointmentEventHolder>();

internal class AppointmentEventHolder
{
    private Outlook.AppointmentItem aitem = null;
    public AppointmentEventHolder(Outlook.AppointmentItem item)
    {
        aitem = item;
    }

    public void onWrite()
    {
        MessageBox.Show("write: " + aitem.Subject);
    }
}

public void atItemLoad(Object item)
{
    Outlook.AppointmentItem aitem = item as Outlook.AppointmentItem;
    if (aitem != null)
    {
        AppointmentEventHolder aHolder = new AppointmentEventHolder(aitem);
        holderList.Add(aHolder);
        aitem.AfterWrite += aHolder.onWrite;
    }
}

но событие не запускается! я очень расстроен сейчас

5
задан Xaw4 26 July 2012 в 07:16
поделиться