我想知道如何在C#中调用事件。实际上,我有一个datagridview双击事件,该事件用datagridview中选定行的值填充f2的文本框,并在它们分配的文本框中显示带有这些值的form2。现在,我想通过单击按钮来做到这一点,比如说单击该按钮时调用我的datagridview双击事件,以下是我的双击事件ty。
private void kryptonDataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
try
{
frmUpdate f2 = new frmUpdate();
f2.txtboxClearingAgent.Text = kryptonDataGridView1.SelectedRows[0].Cells["Clearing Agent Name"].Value.ToString();
f2.textboxClientCode.Text = kryptonDataGridView1.SelectedRows[0].Cells["Client Code"].Value.ToString();
f2.txtboxClientName.Text = kryptonDataGridView1.SelectedRows[0].Cells["Client Name"].Value.ToString();
f2.txtboxPostalAddress.Text = kryptonDataGridView1.SelectedRows[0].Cells["Postal Address"].Value.ToString();
f2.txtboxTelephone.Text = kryptonDataGridView1.SelectedRows[0].Cells["Telephone"].Value.ToString();
f2.txtboxFax.Text = kryptonDataGridView1.SelectedRows[0].Cells["Fax"].Value.ToString();
f2.txtboxEmailAddress1.Text = kryptonDataGridView1.SelectedRows[0].Cells["E-mail Address 1"].Value.ToString();
f2.txtboxEmailAddress2.Text = kryptonDataGridView1.SelectedRows[0].Cells["E-mail Address 2"].Value.ToString();
f2.txtboxEmailAddress3.Text = kryptonDataGridView1.SelectedRows[0].Cells["E-mail Address 3"].Value.ToString();
f2.txtboxWebsite.Text = kryptonDataGridView1.SelectedRows[0].Cells["Website"].Value.ToString();
f2.txtboxChargeRate.Text = kryptonDataGridView1.SelectedRows[0].Cells["Charge Rate"].Value.ToString();
f2.txtboxTotalDepo.Text = kryptonDataGridView1.SelectedRows[0].Cells["Total Deposit"].Value.ToString();
f2.txtboxAccountBal.Text = kryptonDataGridView1.SelectedRows[0].Cells["Account Balance"].Value.ToString();
f2.Show();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
}
private void kryptonbtnEdit_Click(object sender, EventArgs e)
{
//using (frmUpdate frmUpdate = new frmUpdate())
//{
// DialogResult result = frmUpdate.ShowDialog();
//}
}
由于您没有使用与发件人对象和事件args相关的任何内容,因此解决方案就这么简单
kryptonDataGridView1_CellDoubleClick(null, null);
该方法kryptonDataGridView1_CellDoubleClick
只是一个函数,就像C#中的所有其他函数一样,您可以显式调用它。
如果您想要更多的控制权,可以这样做
private void kryptonbtnEdit_Click(object sender, EventArgs e)
{
//set parameters of your event args
var eventArgs = new DataGridViewCellEventArgs(yourColumnIndex, yourRowIndex);
// or setting the selected cells manually before executing the function
kryptonDataGridView1.Rows[yourRowIndex].Cells[yourColumnIndex].Selected = true;
kryptonDataGridView1_CellDoubleClick(sender, eventArgs);
}
请注意,只能从声明事件的控件中的代码引发事件。这不会触发CellDoubleClick
事件,它只是执行kryptonDataGridView1_CellDoubleClick
您注册要在CellDoubleClick
事件触发时执行的功能。如果您已经注册了CellDoubleClick
触发时要调用的其他方法,则应该太明确地执行它们。
请记住,您始终可以从中创建派生类KryptonDataGridView
并在内部处理这些事情,并提供一个供自己以后使用的API,或者在许多复杂的场景中,您可以获取底层方法,该方法使用反射和触发在控件内部触发事件手动操作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句