使用键盘上的删除按钮调用 DeleteButtonClick
Call DeleteButtonClick with Delete button from keyboard
private void BrisiBtn_Click(object sender, EventArgs e)
{
if (tabelaIsplakaci.CurrentCell != null)
{
if (MessageBox.Show("Дали сакате да го избришите овој запис? ", "Избриши запис", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
cIsplakciPrimaci currentIsplakac = lstIsplakaci[tabelaIsplakaci.CurrentCell.RowIndex];
IPDB.DeleteIsplakac(currentIsplakac, ZiroSmetkaObj);
MessageBox.Show("Записот е избришан!");
tabelaIsplakaci.Rows.RemoveAt(tabelaIsplakaci.CurrentCell.RowIndex);
ReadIsplakaci();
}
else
{
MessageBox.Show("Записот не е избришан! ", "Избриши запис", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
else { MessageBox.Show("Не постои ниеден запис!"); }
}
我有这个删除数据的按钮,我需要用删除按钮调用它
从键盘,所以我这样做:
private void Isplakaci_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Delete)
{
//what should I do here, if I write
}
}
我不建议执行按钮点击。因为逻辑上不对。尝试制作明确的过程(至少 function
带或不带参数)来放置您的逻辑并在您需要此功能的任何地方显式调用此过程(包括按钮单击事件)。这将更合适和可读。
但是如果你想
您可以在按钮上使用 PerformClick。
Example
BrisiBtn.PerformClick();
我无法假装理解您正在使用的语言,也无法重建您的所有代码,我可以为您提供一个示例,您应该能够更改以开始工作。
您要避免的事情是以任何方式尝试模拟点击。您希望尽可能地将您的逻辑与 UI 分开。这是您需要的结构:
private void BrisiBtn_Click(object sender, EventArgs e)
{
if (tabelaIsplakaci.CurrentCell != null)
{
if (MessageBox.Show("Дали сакате да го избришите овој запис? ", "Избриши запис", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
cIsplakciPrimaci currentIsplakac = lstIsplakaci[tabelaIsplakaci.CurrentCell.RowIndex];
DeleteIsplakaci(currentIsplakac);
}
else
{
MessageBox.Show("Записот не е избришан! ", "Избриши запис", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
else { MessageBox.Show("Не постои ниеден запис!"); }
}
private void Isplakaci_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Delete)
{
DeleteIsplakaci(currentIsplakac);
}
}
private void DeleteIsplakaci(cIsplakciPrimaci currentIsplakac)
{
IPDB.DeleteIsplakac(currentIsplakac, ZiroSmetkaObj);
MessageBox.Show("Записот е избришан!");
tabelaIsplakaci.Rows.RemoveAt(tabelaIsplakaci.CurrentCell.RowIndex);
ReadIsplakaci();
}
我知道这段代码不会像现在这样工作——你需要重构——但结构应该相当正确。
private void BrisiBtn_Click(object sender, EventArgs e)
{
if (tabelaIsplakaci.CurrentCell != null)
{
if (MessageBox.Show("Дали сакате да го избришите овој запис? ", "Избриши запис", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
cIsplakciPrimaci currentIsplakac = lstIsplakaci[tabelaIsplakaci.CurrentCell.RowIndex];
IPDB.DeleteIsplakac(currentIsplakac, ZiroSmetkaObj);
MessageBox.Show("Записот е избришан!");
tabelaIsplakaci.Rows.RemoveAt(tabelaIsplakaci.CurrentCell.RowIndex);
ReadIsplakaci();
}
else
{
MessageBox.Show("Записот не е избришан! ", "Избриши запис", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
else { MessageBox.Show("Не постои ниеден запис!"); }
}
我有这个删除数据的按钮,我需要用删除按钮调用它 从键盘,所以我这样做:
private void Isplakaci_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Delete)
{
//what should I do here, if I write
}
}
我不建议执行按钮点击。因为逻辑上不对。尝试制作明确的过程(至少 function
带或不带参数)来放置您的逻辑并在您需要此功能的任何地方显式调用此过程(包括按钮单击事件)。这将更合适和可读。
但是如果你想
您可以在按钮上使用 PerformClick。
Example
BrisiBtn.PerformClick();
我无法假装理解您正在使用的语言,也无法重建您的所有代码,我可以为您提供一个示例,您应该能够更改以开始工作。
您要避免的事情是以任何方式尝试模拟点击。您希望尽可能地将您的逻辑与 UI 分开。这是您需要的结构:
private void BrisiBtn_Click(object sender, EventArgs e)
{
if (tabelaIsplakaci.CurrentCell != null)
{
if (MessageBox.Show("Дали сакате да го избришите овој запис? ", "Избриши запис", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
cIsplakciPrimaci currentIsplakac = lstIsplakaci[tabelaIsplakaci.CurrentCell.RowIndex];
DeleteIsplakaci(currentIsplakac);
}
else
{
MessageBox.Show("Записот не е избришан! ", "Избриши запис", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
else { MessageBox.Show("Не постои ниеден запис!"); }
}
private void Isplakaci_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Delete)
{
DeleteIsplakaci(currentIsplakac);
}
}
private void DeleteIsplakaci(cIsplakciPrimaci currentIsplakac)
{
IPDB.DeleteIsplakac(currentIsplakac, ZiroSmetkaObj);
MessageBox.Show("Записот е избришан!");
tabelaIsplakaci.Rows.RemoveAt(tabelaIsplakaci.CurrentCell.RowIndex);
ReadIsplakaci();
}
我知道这段代码不会像现在这样工作——你需要重构——但结构应该相当正确。