Форма C# Закрыть окно сообщения при нажатии кнопки

Есть ли способ закрыть окно сообщения и вернуться к форме, не отправляя данные по электронной почте?

на полпути там просто нужна помощь со вторым оператором if/else if. Я очень новичок во всем этом.

мой код ниже:)

//Button
    private void submitButton_Click(object sender, EventArgs e)
    {
        string software = null;
        string hardware = null;



        foreach (string s in softwareNeededCheckedListBox.CheckedItems)
        {
            software = software + '\n' + s;
        }

        foreach (string s in hardwareNeededCheckedListBox.CheckedItems)
        {
            hardware = hardware + '\n' + s;
        }

        if (yesRadioButton.Checked == true)
        {
           yesRadioButton.Text = "Yes";
            noRadioButton.Text = " ";
        }


        if (noRadioButton.Checked == true)
        {
           noRadioButton.Text = "No";
            yesRadioButton.Text = " ";
        }



        if (MessageBox.Show("First name: " + firstNameTextBox.Text + "  " + "Last name: " + lastNameTextBox.Text + "\n" + "\n" +
               "Will be working in " + areaOfTheCompanyComboBox.SelectedItem + "\n" + "\n" +
               "They will need the following software:" + software + "\n" + "\n" +
               "They will need the following hardware:" + hardware + "\n" + "\n" +
               "They will be seated: " + seatingLocationRichTextBox.Text + "\n" + "\n" +
               "Any further Comments: " + notesRichTextBox.Text + "\n" + "\n" +
               "Do they require a phone: " + noRadioButton.Text + yesRadioButton.Text + "\n" + "\n" +
               "Date they start: " + completionDateTimePicker.Text + "\n" + "\n" +
               "Are you happy with the information shown above?" + "\n" + "\n" +
               MessageBoxButtons.OKCancel) == DialogResult.OK)
        {
            MailMessage mail = new MailMessage();
            SmtpClient smtpserver = new SmtpClient("smtp.gmail.com");

            mail.From = new MailAddress("xxxxx@gmail.com");
            mail.To.Add("xxxxx@xxxxxx.co.uk");
            mail.Subject = "Test Mail";
            mail.Body = "First name: " + firstNameTextBox.Text + "  " + "Last name: " + lastNameTextBox.Text + "\n" + "\n" +
                 "Will be working in " + areaOfTheCompanyComboBox.SelectedItem + "\n" + "\n" +
                 "They will need the following software:" + software + "\n" + "\n" +
                 "They will need the following hardware:" + hardware + "\n" + "\n" +
                 "They will be seated: " + seatingLocationRichTextBox.Text + "\n" + "\n" +
                 "Any further Comments: " + notesRichTextBox.Text + "\n" + "\n" +
                 "Do they require a phone: " + noRadioButton.Text + yesRadioButton.Text + "\n" + "\n" +
                 "Date they start: " + completionDateTimePicker.Text;
            smtpserver.Port = 587;
            smtpserver.Credentials = new System.Net.NetworkCredential("**", "********");
            smtpserver.Send(mail);
            MessageBox.Show("Your Form has been sent ");

        }

2 ответа

Решение

Вы действительно забыли, что ставите запятые на ваш MessageBox.Show иметь правильные аргументы / параметры.

        if (MessageBox.Show("Body of your message box",
                            "Title Of Your MessageBox",
                            MessageBoxButtons.OKCancel,
                            MessageBoxIcon.Information) == DialogResult.OK)
        {

        }

Это будет только по электронной почте, если пользователь нажимает OK, Вы можете обработать кнопку отмены, используя DialogResult.Cancel

Я бы лично положил MessageBox в dialogResult переменная. Например:

var dialogResult = MessageBox.Show("FIrst name .... ");

Затем вы можете проверить, нажал ли пользователь OK или же Cancel

if (dialogResult == DialogResult.OK) {
    // Send the e-mail
} else if (dialogResult == DialogResult.Cancel) {
    // Do what you need to do / return to the form.
}

Чтобы показать окно сообщения с OK and Cancel тебе нужно:

MessageBox.Show(this, "Message", "Title", MessageBoxButtons.OKCancel);
Другие вопросы по тегам