Мне нужно сформировать «SalesProduct» и «SearchProduct». В форме «SalesProduct» при просмотре сетки данных, когда я щелкаю по ячейке datagridview / имени столбца «Имя продукта», открывается форма «SearchProduct», где я ищу элемент, выбираю строку элемента из кнопки-флажка datagridview, затем нажимаю на кнопку «Выбрать», затем спрятать / закрыть кнопку «SearchProduct» и вывести на передний родительский бланк «SalesProduct».
Он также получает данные из списка «searchProduct» в форму «SalesProduct» и добавляет строку в форму «SalesProduct». Когда я снова щелкну столбец Product, он снова откроет форму «searchProduct» и выберет строку из нее, затем закроется после нажатия кнопки «Выбрать» и выведет переднюю форму «SalesProduct», добавит эту новую строку в форму и не удалит другие строки, которые я добавил ранее. .
Моя проблема в том, что форма «SalesProduct» не появляется впереди, когда форма «SearchProduct» закрывается, она открывает новую форму, а также удаляет другие строки, которые я поместил в форму «SalesProduct» ранее.
Мой код указан ниже. Пожалуйста, помогите мне, как вести подсчет и приводить форму перед родителем, не создавая новый экземпляр.
,,,,
public partial class SaleProduct_Form : Form
{
public List<CommenValue_Class> value { get; set; }
public SaleProduct_Form()
{
InitializeComponent();
}
private void gridSalesProduct_CellEnter(
object sender,
DataGridViewCellEventArgs e)
{
if (gridSalesProduct.CurrentCell.ColumnIndex == 1)
{
SearchProduct_Form searchProduct = new SearchProduct_Form();
searchProduct.ShowDialog(this);
}
}
private void SaleProduct_Form_Load(
object sender,
EventArgs e)
{
addToGrid(value);
}
public void addToGrid(List<CommenValue_Class> val)
{
if (val != null)
{
foreach (CommenValue_Class item in val)
{
int n = gridSalesProduct.Rows.Add();
gridSalesProduct.Rows[n].Cells["ProductName"].Value = item.Product_Name;
gridSalesProduct.Rows[n].Cells["Balance"].Value = item.Qty_Balance;
gridSalesProduct.Rows[n].Cells["Rate"].Value = item.Rate;
}
}
}
}
public partial class SearchProduct_Form : Form
{
public SearchProduct_Form()
{
InitializeComponent();
}
private void btnSelectProduct_Click(object sender, EventArgs e)
{
try
{
List<CommenValue_Class> CV = new List<CommenValue_Class>();
foreach (DataGridViewRow item in gridProductList.Rows)
{
if (Convert.ToBoolean(item.Cells[0].Value))
{
CV.Add(new CommenValue_Class
{
Product_Name = item.Cells["Product_Name"].Value.ToString(),
Qty_Balance = Convert.ToInt32( item.Cells["Balance_Qty"].Value.ToString()),
Rate = Convert.ToDecimal (item.Cells["Per_Unit_Sale_Price"].Value.ToString())
});
}
}
SaleProduct_Form saleProduct = new SaleProduct_Form();
saleProduct.value = CV;
saleProduct.Show();
this.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}