How to reload form in c# when button submit in another form is click?

button, c#, forms, reload

Solution

Update: Since you changed your question here is the updated version to update your products

This is your products form:

private frmMain main;

public frmSettings(frmMain mainForm)
{
  main = mainForm;
  InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
  main.AddProduct(textBox1.Text);
}

It will need the mainform in the constructor to pass the data to it.

And the main form:

private frmSettings settings;
private List<string> products = new List<string>();

public frmMain()
{
  InitializeComponent();
  //load products from somewhere
}

private void button1_Click(object sender, EventArgs e)
{
  if (settings == null)
  {
    settings = new frmSettings(this);
  }
  settings.Show();
}

private void UpdateForm()
{
  comboBoxProducts.Items.Clear();
  comboBoxProducts.Items.AddRange(products.ToArray());

  //Other updates
}

public void AddProduct(string product)
{
  products.Add(product);
  UpdateForm();
}

You then can call `UpdateForm()` from everywhere on you form, another button for example. This example uses just a local variable to store your products. There are also missing certain checks for adding a product, but I guess you get the idea...

Problem

I have a combo box in my C# which is place in form named `frmMain` which is automatically fill when I add (using button `button1_Click`) a product in my settings form named `frmSettings`. When I click the button `button1_Click` I want to reload the `frmMain` for the new added product will be visible. I tried using ``` frmMain main = new frmMain(); main.Close(); main.Show(); ``` I know this code is so funny but it didn't work. :D This is windows form! EDIT Please see this image of my program for better understanding. This is my `frmMain` Here is what my settings `frmSettings` form look like. So, as you can see when I click the submit button I want to make the `frmMain` to reload so that the updated value which I added to the settings will be visible to `frmMain` comboBox.

Original source