I found a fantastic sample here. Be sure to read the comments below the sample, since there were some issues / fixes.
Basically, you'll need to add a reference to Microsoft.Office.Interop.Outlook to your project. Here is a little more info on how to do that. It's under the COM tab. Adding a using statement to the top of the code should keep you from having to preface every instance of 'Outlook' in this sample with 'Microsoft.Office.Interop". This is almost exactly the same code from the sample, with a few errors corrected. Note that your form will have to be full trust, and if you want to use info from your form as values for the appointment, you'll need to add that. I did try this locally, and it created an appointment in my calendar.
//First thing you need to do is add a reference to Microsoft Outlook 12.0 Object Library. Then, create new instance of Microsoft.Office.Interop.Outlook.Application object:
Outlook.Application outlookApp = new Outlook.Application();
//Next, create an instance of AppointmentItem object and set the properties:
Outlook.AppointmentItem oAppointment = (Outlook.AppointmentItem)outlookApp.CreateItem(Outlook.OlItemType.olAppointmentItem);
oAppointment.Subject = "This is the subject for my appointment";
oAppointment.Body = "This is the body text for my appointment";
oAppointment.Location = "Appointment location";
// Set the start date
oAppointment.Start = Convert.ToDateTime("01/10/2009 10:00:00 AM");
// End date
oAppointment.End = Convert.ToDateTime("01/10/2009 2:00:00 PM");
// Set the reminder 15 minutes before start
oAppointment.ReminderSet = true;
oAppointment.ReminderMinutesBeforeStart = 15;
//Setting the sound file for a reminder:
oAppointment.ReminderPlaySound = true;
//Setting the importance:
//use OlImportance enum to set the importance to low, medium or high
oAppointment.Importance = Outlook.OlImportance.olImportanceHigh;
/* OlBusyStatus is enum with following values:
olBusy
olFree
olOutOfOffice
olTentative
*/
oAppointment.BusyStatus = Outlook.OlBusyStatus.olBusy;
//Finally, save the appointment:
// Save the appointment
oAppointment.Save();