Winform开窗,筛选数据后返回数据的方法
2020-12-13 02:03
标签:winform datagridview style c class blog 在开发中,经常需要打开另一个窗体(简写为“开窗”),然后在开窗中进行数据筛选,选中需要的数据,最后将值传递给本原来的窗体。而且,这个开窗可以重复用于多个地方,其效果如同日历控件的弹出窗口。如下图所示: 测试环境 vs2008 基本思路 1、创建一个窗体类。 (1)为该类添加用于传递值的属性。 (2)为该类添加一个事件,用于通知调用方值已经准备好。 (3)在窗体类的某个函数中,如单元格双击处理函数中,为属性赋值,并引发这个事件。 2、调用该窗体类。 (1)定义一个全局的窗体类对象。 (2)在调用函数中,初始窗体对象,注册一个事件处理函数。 (3)在事件处理函数中,就可以使用上面定义的属性值。 创建窗体类 1、添加一个名为lookup的窗体,在上面布置如下的控件: 2、定义2个属性。 3、添加1个名为DataSelected的事件。 4、在dataGridView控件的CellDoubleClick事件处理函数中,为2个属性赋值,引发DataSelected事件。 调用该窗体类 1、新建一个窗体,在上面放置如下的控件: 2、定义一个全局的lookup对象。 3、在按钮的单击事件中进行如下处理: 4、处理DataSelected事件 示例代码下载 Winform开窗,筛选数据后返回数据的方法,搜素材,soscw.com Winform开窗,筛选数据后返回数据的方法 标签:winform datagridview style c class blog 原文地址:http://www.cnblogs.com/dehai/p/3754321.html ///
public event EventHandler DataSelected;
private void dataGridView1_CellDoubleClick( object sender, DataGridViewCellEventArgs e )
{
if( this.DataSelected != null )
{
this._UserId = dataGridView1.Rows[ e.RowIndex ].Cells[ "userId" ].Value.ToString();
this._UserName = dataGridView1.Rows[ e.RowIndex ].Cells[ "userName" ].Value.ToString();
// 引发事件
this.DataSelected( null, null );
}
this.Close(); // 关闭本窗体
}
Lookup lookup;
private void button1_Click( object sender, EventArgs e )
{
lookup = new Lookup();
lookup.DataSelected += new EventHandler( lookup_DataSelected );
lookup.Show();
}
void lookup_DataSelected( object sender, EventArgs e )
{
textBox1.Text = lookup.UserId;
textBox2.Text = lookup.UserName;
}