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
}
}
答案 0 :(得分:0)
我无法假装理解您使用的语言,也无法重构所有代码,我可以为您提供一个示例,您应该可以对其进行更改以开始工作。
您想避免的事情是以任何方式尝试模拟点击。您希望尽可能将逻辑与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();
}
我知道这段代码无法按原样工作-您需要进行重构-但结构应该相当正确。
答案 1 :(得分:-2)
我不建议执行按钮单击。因为这在逻辑上是不正确的。尝试制作一个明确的过程(至少一个带有参数或不带有参数的function
)来放置逻辑,并在需要此功能的任何地方(包括按钮单击事件)显式调用此过程。这将更加合适和可读。
但是如果你想
您可以在按钮上使用PerformClick。
示例
BrisiBtn.PerformClick();