private void ButtonGenerate_Click(object sender, EventArgs e)
        {
            CronExpressionTextBox.Clear();

            if (InputTabControl.SelectedTab == InputTabControl.TabPages["MinutesPage"])
            {
                CronExpressionTextBox.Text = CronExpression.EveryNMinutes((int)MinutesUpDown.Value);
            }
            else if (InputTabControl.SelectedTab == InputTabControl.TabPages["HoursPage"])
            {
                if (HourlyRadioButton.Checked)
                {
                    CronExpressionTextBox.Text = CronExpression.EveryNHours((int)HoursUpDown.Value);
                }
                else if (AtTimeRadioButton.Checked)
                {
                    CronExpressionTextBox.Text = CronExpression.EveryDayAt(Convert.ToInt32(HoursComboBox1.SelectedItem),
                                                                           Convert.ToInt32(MinutesComboBox1.SelectedItem));
                }
            }
            else if (InputTabControl.SelectedTab == InputTabControl.TabPages["DaysPage"])
            {
                if (DailyRadioButton.Checked)
                {
                    CronExpressionTextBox.Text = CronExpression.EveryNDaysAt((int)DaysUpDown.Value,
                                                                             Convert.ToInt32(HoursComboBox2.SelectedItem),
                                                                             Convert.ToInt32(MinutesComboBox2.SelectedItem));
                }
                else if (EveryWeekDayRadioButton.Checked)
                {
                    CronExpressionTextBox.Text = CronExpression.EveryWeekDayAt(Convert.ToInt32(HoursComboBox2.SelectedItem),
                                                                               Convert.ToInt32(MinutesComboBox2.SelectedItem));
                }
            }
            else if (InputTabControl.SelectedTab == InputTabControl.TabPages["WeeksPage"])
            {
                int total = 0;
                if (MondayCheckBox.Checked)
                {
                    total += 1;
                }
                if (TuesdayCheckBox.Checked)
                {
                    total += 2;
                }
                if (WednesdayCheckBox.Checked)
                {
                    total += 4;
                }
                if (ThursdayCheckBox.Checked)
                {
                    total += 8;
                }
                if (FridayCheckBox.Checked)
                {
                    total += 16;
                }
                if (SaturdayCheckBox.Checked)
                {
                    total += 32;
                }
                if (SundayCheckBox.Checked)
                {
                    total += 64;
                }

                if (total == 0)
                {
                    ShowError("At least one day of the week is required.");
                }
                else
                {
                    CronExpressionTextBox.Text = CronExpression.EverySpecificWeekDayAt(Convert.ToInt32(HoursComboBox3.SelectedItem),
                                                                                       Convert.ToInt32(MinutesComboBox3.SelectedItem), (DaysOfWeek)total);
                }
            }
            else if (InputTabControl.SelectedTab == InputTabControl.TabPages["MonthsPage"])
            {
                if (DayRadioButton.Checked)
                {
                    CronExpressionTextBox.Text =
                        CronExpression.EverySpecificDayEveryNMonthAt(Convert.ToInt32(DayUpDown.Value),
                                                                     Convert.ToInt32(MonthUpDown.Value),
                                                                     Convert.ToInt32(HoursComboBox4.SelectedItem),
                                                                     Convert.ToInt32(MinutesComboBox4.SelectedItem));
                }
                else if (TheRadioButton.Checked)
                {
                    // Convert combo box index to enum (0 -> 1, 1 -> 2, 2 -> 4, etc)
                    var days = (DaysOfWeek)(Math.Pow(2, DayOfWeekComboBox.SelectedIndex));

                    // Convert combo box (first, second, third, fourth) to enum
                    var seqNumber = (DaySeqNumber)(SeqNumberComboBox.SelectedIndex + 1);

                    CronExpressionTextBox.Text =
                        CronExpression.EverySpecificSeqWeekDayEveryNMonthAt(seqNumber,
                                                                            days,
                                                                            Convert.ToInt32(MonthUpDown2.Value),
                                                                            Convert.ToInt32(HoursComboBox4.SelectedItem),
                                                                            Convert.ToInt32(MinutesComboBox4.SelectedItem));
                }
            }
            else if (InputTabControl.SelectedTab == InputTabControl.TabPages["YearsPage"])
            {
                if (EveryRadioButton.Checked)
                {
                    var month = (Months)(MonthComboBox.SelectedIndex + 1);

                    CronExpressionTextBox.Text =
                        CronExpression.EverySpecificDayOfMonthAt(month,
                                                                 Convert.ToInt32(DayOfMonthUpDown.Value),
                                                                 Convert.ToInt32(HoursComboBox5.SelectedItem),
                                                                 Convert.ToInt32(MinutesComboBox5.SelectedItem));
                }
                else if (TheRadioButton2.Checked)
                {
                    // Convert combo box index to enum (0 -> 1, 1 -> 2, 2 -> 4, etc)
                    var days = (DaysOfWeek)(Math.Pow(2, DayOfWeekComboBox2.SelectedIndex));

                    // Convert combo box (first, second, third, fourth) to enum
                    var seqNumber = (DaySeqNumber)(SeqNumberComboBox2.SelectedIndex + 1);

                    var month = (Months)(MonthComboBox2.SelectedIndex + 1);

                    CronExpressionTextBox.Text =
                        CronExpression.EverySpecificSeqWeekDayOfMonthAt(seqNumber,
                                                                        days,
                                                                        month,
                                                                        Convert.ToInt32(HoursComboBox5.SelectedItem),
                                                                        Convert.ToInt32(MinutesComboBox5.SelectedItem));
                }
            }
        }