Есть ли способ выполнить код после Form.Show()
? То, что я делаю, - это маленькое меню, которое всплывает после того, как пользователь щелкает правой кнопкой мыши, и если я использую Form.ShowDialog()
, я не могу щелкнуть нигде, кроме как в этом меню, и должно получиться так, что если я щелкнул в любом месте, а не в меню, меню должно исчезнуть, и это может произойти только на Form.Show()
.
После Form.Show()
Я добавляю информацию в базу данных, поэтому Form.Show()
- единственное, что подходит для моей ситуации.
Код:
if (e.Button == MouseButtons.Right)
{
if (Application.OpenForms["frm_Options"] == null)
{
frm_Options ofrm = new frm_Options();
ofrm.StartPosition = FormStartPosition.Manual;
ofrm.SetBounds(MousePosition.X + 5, MousePosition.Y + 5, ofrm.Width, ofrm.Height);
ofrm.ShowDialog();
}
}
}
В другой форме:
{
TreeNode oTreeNode = new TreeNode("New Node");
frm_Test ofrm = (frm_Test)Application.OpenForms["frm_Test"];
//updateTreeView is custom event created on ther main form
ofrm.updateTreeView(false, false, oTreeNode);
this.Close();
}