Имам две прозорци в приложението си. Първият е основният формуляр, а вторият е формулярът за търсене. Опитвам се да отворя формуляра за справка от главния формуляр в събитие за напускане на ключ на текстово поле и след това отварям формуляра за справка. Моят формуляр за търсене има изглед на мрежа с данни и го зареждам в събитието за зареждане на формуляра на формуляра за търсене. Чета избраната от мен стойност в мрежовия изглед на прозореца за справка към обект. Искам да затворя прозореца за справка веднага щом прочета стойностите на избрания ред на обекта и искам да го предам на главния формуляр? Как мога да направя това? Това съм направил. В основната форма.
LookupModelType="";
if (e.KeyCode.Equals(Keys.F3))
{
foreach (Form frm in Application.OpenForms)
{
if (frm is FormControllers.Lookup)
{
if (frm.WindowState == FormWindowState.Minimized)
{
frm.WindowState = FormWindowState.Normal;
frm.Focus();
return;
}
}
}
LookupModelType = "Product";
FormControllers.Lookup newLookUp = new FormControllers.Lookup(LookupModelType);
newLookUp.ShowDialog(this);
}
В прозореца за търсене
private string GridType = "";
public Lookup(String LookupModelType)
{
InitializeComponent();
this.GridType = LookupModelType;
}
private void Lookup_Load(object sender, EventArgs e)
{
if (GridType == "Product")
{
using(DataControllers.RIT_Allocation_Entities RAEntity = new DataControllers.RIT_Allocation_Entities())
{
dgvLookup.DataSource = RAEntity.TBLM_PRODUCT.ToList<DataControllers.TBLM_PRODUCT>();
}
}
dgvLookup.ReadOnly = true;
}
private void dgvLookup_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex < 0)
{
return;
}
int index = e.RowIndex;
dgvLookup.Rows[index].Selected = true;
}