我是winform的新手。我使用:
在form1中打开了form2形式的linklabelprivate void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
FrmAddMov frmAddMov = new FrmAddMov();
if(frmAddMov.ShowDialog() == DialogResult.OK)
{
this.Invalidate();
//or
this.Refresh();
}
}
我认为form1会在我提交form2后重新加载,但不是。请告诉我正确的方法。非常感谢,如果我的英语太糟糕,我很抱歉。
答案 0 :(得分:1)
将表单加载事件中的所有内容移动到FormLoad方法。您可能希望添加一些您期望表单重新加载将为您执行的其他语句。当你的第二张表格关闭时,请调用此方法。
像这样的东西
private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
FrmAddMov frmAddMov = new FrmAddMov();
if(frmAddMov.ShowDialog() == DialogResult.OK)
{
FormLoad();
}
}
答案 1 :(得分:1)
绅士的答案会奏效,但可以改进
使用ShowDialog
显示表单时,处理该表单是最佳做法,最简单的方法是using
语句
private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
using (FrmAddMov frmAddMov = new FrmAddMov())
{
if (frmAddMov.ShowDialog() == DialogResult.OK)
{
FormLoad();
}
}
}
这样您就可以100%确定将清理frmAddMov的所有资源。