Introduction
This simple article explains how you can get a value on a different form on to a caller form.
Background
Basically you may keep a method to access the values in the child form window. Using a GET method is better than exposing the entire object to outside.
Using the code
Firstly You need to have a method in the child form to get the values.
public DataGridViewSelectedRowCollection getselectedrow()
{
return dataGridView1.SelectedRows;
}
Some example code to show how the child form is instantiated and the method being called.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Form2 form2show;
private void button1_Click(object sender, EventArgs e)
{
if ((form2show==null) || (form2show.IsDisposed==true))
{
form2show = new Form2();
}
form2show.Show();
}
private void button2_Click(object sender, EventArgs e)
{
if ((form2show==null) || (!form2show.Visible))
{
return;
}
DataGridViewSelectedRowCollection dsr = form2show.getselectedrow();
if ((dsr == null) || (dsr.Count == 0))
{
return;
}
textBox1.Text = dsr[0].Cells[1].Value.ToString();
}
}
Points of Interest
It's always better to use a method to access the properties like above. We call them GET methods. It's recommended than exposing entire object to outside.