在DataGridView中选择行后关闭窗体
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在DataGridView中选择行后关闭窗体相关的知识,希望对你有一定的参考价值。
Schema
我有一个表格[frmProducts]
,上面有一些TextBox和一个按钮[btnSearch]
。
单击该按钮时,它将打开一个新形式[frmProductSearch]
,只有一个DataGridView [dtgvProductSearch]
和一个关闭[btnClose]
的按钮[frmProductSearch]
。
我想单击搜索按钮,通过datagrid导航,在所选行上按Enter
并将数据从DataBase发送到另一个形式[frmProducts]
,以便我可以更改信息。
答案
这种情况的一个简单例子
frmProducts:
private void btnSearch_Click(object sender, EventArgs e)
{
var frmSearch = new frmSearchProducts
{
ProductName = textBox1.Text.Trim(),
ProductCategory = textBox2.Text.Trim()
};
if(frmSearch.ShowDialog() == DialogResult.OK)
{
// get selected rows...
var selectedRows = frmSearch.SelectedProducts;
}
}
frmProductSearch:
private List<Product> _selectedProducts;
public List<Product> SelectedProducts
{
get
{
return _selectedProducts;
}
}
public string ProductName { get; set; }
public string ProductCategory { get; set; }
private void frmSearchProducts_Load(object sender, EventArgs e)
{
_selectedProducts = new List<Product>();
this.KeyPreview = true;
//TODO: do search product
}
protected override void OnKeyDown(KeyEventArgs e)
{
base.OnKeyDown(e);
switch (e.KeyCode)
{
case Keys.Enter:
{
//TODO: Get your selected on gridview...
_selectedProducts = new List<Product>();
// set dialog result
DialogResult = DialogResult.OK;
// close form
Hide();
}
break;
}
}
以上是关于在DataGridView中选择行后关闭窗体的主要内容,如果未能解决你的问题,请参考以下文章
C#winform程序中,将A窗体datagridview中选中的数据传到B窗体里面的各个文本框中进行修改