Here is my code:

```
if (addNewRecord == false)
        { MessageBox.Show("No action selected. \nSave cancelled."); }
else if (editCurrentRecord == false)
        { MessageBox.Show("No action selected. \nSave cancelled."); }
else{.....}

```

`addNewRecord` and `editCurrentRecord` are both bools that I have checked have a `true` value. When I do as above the messageboxes will still show as if the bools were `false`. However, if I only comment out the `ELSE IF` it will continue with the `ELSE` as intended. Am I missing something fundamental here? Thanks for any input.

EDIT: Both of the messageboxes don't show just one. I am checking the values of both bools before the IF statement with MessageBox.Show(addNewRecord.ToString());and the same for the other bool. They are working as intended. The problem only happens when I try to evaluate both of the bools, either with else if or with an OR statement.

Here is all the relevant code:

```
namespace E_Z_Rent
{
public partial class Bookings : Form
{
    bool addNewRecord = false;
    bool editCurrentRecord = false;

    public Bookings()
    {
        InitializeComponent();
    }

    private void bookingsBindingNavigatorSaveItem_Click(object sender, EventArgs e)
    {
        MessageBox.Show(addNewRecord.ToString());
        MessageBox.Show(editCurrentRecord.ToString());
        if (addNewRecord == false)
        { MessageBox.Show("No action selected. \nSave cancelled."); }
        else if (editCurrentRecord == false)
        { MessageBox.Show("No action selected. \nSave cancelled."); }
        else
        {
            MessageBox.Show("OK");
        }
    }

    private void EditFieldsCheckBox_CheckedChanged(object sender, EventArgs e)
    {
        if (EditFieldsCheckBox.Checked == true)
        {
            editCurrentRecord = true;
        }
        else 
        {
            editCurrentRecord = false;
        }
    }

    private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e)
    {
        addNewRecord = true;
    }
}
}

```

I have got it working as intended by doing:

```
   if (addNewRecord == true || editCurrentRecord == true){
          MessageBox.Show("OK");
      }
      else
      {
          MessageBox.Show("No action selected. \nSave cancelled.");
      }

```

I am still puzzeled by this so if anyone else can say why this happened I will be checking back. Thanks for all the suggestions everyone.