在程序中,当用户第一次打开程序时,我会看到一个警告,如果程序已经过期,则会出现如下警告消息

如果用户按下“是”,屏幕将与在此屏幕打开的一周内过期的产品一起打开。

以下是他选择的3个选项,他认为这一天结束或结束在本月。自动的,所以我希望第一件事是按“是”,在显示我所用代码的当前一周的按钮(本周)上打开报价的例外情况
if (tbl001.Rows.Count >= 1)
{
if (XtraMessageBox.Show("لديك منتجات ستنتهى مدة صلاحيتها خلال هذا الإسبوع هل تريد الإطلاع عليها", "تاكيد", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
{
Frm_ProductsExpiration frm = new Frm_ProductsExpiration();
frm.ShowDialog();
frm.simpleButton1.PerformClick();
}
}但不幸的是这对我没有用。我希望屏幕一打开,就自动按下我想要的按钮。
发布于 2022-02-15 20:37:13
对ShowDialog的调用阻止在关闭frm之前执行下一行frm.simpleButton1.PerformClick()。
您只需在Shown event on Frm_ProductsExpiration上添加一个处理程序,并在那里调用simpleButton1.PerformClick()。
例如,在现有代码中,只需删除对frm.simpleButton1.PerformClick()的调用即可。
if (tbl001.Rows.Count >= 1)
{
if (XtraMessageBox.Show("لديك منتجات ستنتهى مدة صلاحيتها خلال هذا الإسبوع هل تريد الإطلاع عليها", "تاكيد", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
{
Frm_ProductsExpiration frm = new Frm_ProductsExpiration();
frm.ShowDialog();
// Note that we've removed the call to frm.simpleButton1.PerformClick()
}
}然后,使用设计器向Frm_ProductsExpiration上的Frm_ProductsExpiration事件添加一个处理程序,并在那里调用simpleButton1.PerformClick()。
private void Frm_ProductsExpiration_Shown(object sender, EventArgs e)
{
simpleButton1.PerformClick();
}如果由于某种原因无法使用设计器,则只需在Frm_ProductsExpiration的构造函数中手动添加处理程序即可。
public Frm_ProductsExpiration()
{
InitializeComponent();
Shown += Frm_ProductsExpiration_Shown;
}
private void Frm_ProductsExpiration_Shown(object sender, EventArgs e)
{
simpleButton1.PerformClick();
}https://stackoverflow.com/questions/71131951
复制相似问题