# Create New Appointment

Learn how to open an Appointment in the Scheduler for WinForms control.

## Content

Create an appointment at run time by opening the Scheduler context menu and selecting one of the following commands:

* **New Appointment**
* **New All Day Event**
* **New Recurring Appointment**
* **New Recurring Event**

>type=note
> **Note**: Double-click a date or time to create an appointment and open the **Appointment** dialog box for the selected date or time.

Creating an appointment at run time opens the **Appointment** dialog box.
![C1WinForms Scheduler appointment dialogbox](https://cdn.mescius.io/document-site-files/images/675b9aff-7616-4324-81ac-58e410fb9531/appointment_dialogbox-20260630.57df6c.png)
The following keyboard commands are available in the **Appointment** dialog box:

| Key | Action |
| --- | ------ |
| TAB or ENTER | Moves focus between fields according to the tab order. |
| ESC | Closes the **Appointment** dialog box without saving the changes. |

After creating an appointment, right-click it to open a context menu with options for editing, saving, or deleting the appointment.
![C1WinForms Scheduler appointment context menu](https://cdn.mescius.io/document-site-files/images/675b9aff-7616-4324-81ac-58e410fb9531/appoint_options-20260630.3d3e72.png)

### Appointment Dialog Box Properties

The following [Appointment](/componentone/api/win/online-schedule/dotnet-standard-api/C1.ScheduleCore/C1.Schedule.Appointment.html) properties can be configured in the **Appointment** dialog box at run time:

| Property | Description |
| -------- | ----------- |
| AllDayEvent | Gets or sets a Boolean value that indicates whether the appointment is an all-day event. |
| Body | Gets or sets a string value that represents the appointment body. |
| BusyStatus | Gets or sets the `Status` object that indicates the availability status associated with the appointment. |
| Duration | Gets or sets the `TimeSpan` value that specifies the appointment duration. |
| End | Gets or sets the `DateTime` value that specifies the appointment end date and time. |
| Importance | Gets or sets the `ImportanceEnum` value that indicates the relative importance of the appointment. The default value is `Normal`. |
| Label | Gets or sets the `Label` object associated with the appointment. |
| Location | Gets or sets the String value that specifies the appointment location. |
| Private | Gets or sets a Boolean value that indicates whether the calendar owner has marked the appointment as private. |
| ReminderSet | Gets or sets a Boolean value that indicates whether a reminder is associated with the appointment. Setting this property to `true` creates a `Reminder` object and assigns it to the `Reminder` property. |
| ReminderSoundFile | Gets or sets the String value that specifies the path and file name of the sound played when the reminder occurs. This property applies only when `ReminderOverrideDefault` and `ReminderPlaySound` are set to `true`. |
| ReminderTimeBeforeStart | Gets or sets the `TimeSpan` value that specifies the interval between the reminder and the appointment start time. |
| Sensitivity | Gets or sets the `SensitivityEnum` value that indicates the sensitivity level of the appointment. |
| Start | Gets or sets the `DateTime` value that specifies the appointment start date and time. |
| Subject | Gets or sets the string value that represents the appointment subject. |
