gpt4 book ai didi

c# - 如何通过单击按钮调用 datagridview 事件?

转载 作者:行者123 更新时间:2023-11-30 22:01:17 26 4
gpt4 key购买 nike

我想知道如何在 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();
//}
}

最佳答案

因为你没有使用任何与发送者对象和事件参数相关的东西,所以解决方案就这么简单

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 供您自己稍后使用,或者在许多复杂的场景中您可以获得底层方法使用反射在控件内部触发事件并手动触发。

关于c# - 如何通过单击按钮调用 datagridview 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27838861/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com