Form Region, Task Pain, Ribbon Extension - which way is best?

  • Thread starter Thread starter pkelley
  • Start date Start date
P

pkelley

I have Visual Studio 2005, VSTO SE, and I'm writing in C#.
I've been tasked with writing my first Add-In and it will be for Outlook 2007.
I've completed the "Walkthroughs" for:
1) Customizing the Ribbon for Outlook 2007
http://msdn.microsoft.com/en-us/library/bb226712.aspx

2) Creating an Outlook Form Region
http://msdn.microsoft.com/en-us/library/aa942741.aspx

I've learned that there are such things as "Custom Task Panes" as well as
"Custom Form Regions"

My Add-In centers around Microsoft.Outlook.Appointment.

What I am to develop is an Add-In that Extends the Outlook 2007 Appointment
Ribbon to provide a:
1. A "Configuration" button that when pressed presents a form to be
filled out containing ODBC connection information (e.g. Server, Port,
Username, Password), an OK and Cancel button
2. A "Synch Assignment" check-box that when toggled "ON" indicates that
the Outlook 2007 Appointment information is to be saved to an SQL database.

I want to know what you recommend regarding two things:

1. Do I want to use a Custom Task Pane connected to the Ribbon to gather
my ODBC connection information, or am I supposed to use a Custom Form Region?
Not sure when it is best to use one versus the other.

2. How do you hook the "Save & Close" and "Send" events on the Appointment
Ribbon? When those buttons are clicked, I want to save the Appointment
information to an SQL database "if-and-only-if" the "Synch Assignment"
Check-Box is "ON"

Thanks for your help!
 
A form region would require either using a custom message class or having
the form region on all appointments. There is also minimal control over
displaying and hiding a form region or expanding or compressing it.

It's really 6 of one, half dozen of the other. It really depends on the look
and feel you want for your UI. I've used both form regions and ribbon
controls that open/close a task pane depending on the project.

Trap the Send() event on the item that's opened for knowing when the item is
sent out. Trap the Close() and Write() events to catch saving and closing
the item and its Inspector.
 
Back
Top