【发布时间】:2022-11-16 09:12:36
【问题描述】:
我有一个 WinForm,并添加了一个带有 DataGridView 的 UserControl。 现在我想双击 DataGridView 并将对象数据添加到我的表单中。
在我的用户控件中:
public event DataGridViewCellEventHandler dg_CellDoubleClickEvent;
private void dg_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex != -1)
{
try
{
Cursor.Current = Cursors.WaitCursor;
Address a = dg.Rows[e.RowIndex].DataBoundItem as Address;
if (a != null)
{
// how can I pass my Address object??
dgAngebote_CellDoubleClickEvent?.Invoke(this.dgAngebote, e);
}
}
finally { Cursor.Current = Cursors.Default; }
}
}
在我的表格中:
private void FormAddress_Load(object sender, EventArgs e)
{
uc.dg_CellDoubleClickEvent += new DataGridViewCellEventHandler(myEvent);
}
private void myEvent(object sender, DataGridViewCellEventArgs e)
{
MessageBox.Show("test");
}
显示我的消息框。没关系,但我想显示我的地址。 这是这样做的正确方法吗?如何?
亲切的问候。
【问题讨论】:
标签: c# event-handling delegates user-controls