每次获得焦点或创建WinForm时,都要准确地加载它
本文关键字:加载 焦点 WinForm 创建 | 更新日期: 2023-09-27 18:26:33
我只是想让一个表单正确加载。它是模态父级的无模式子窗体(它本身是主UI的无模式个子窗体)。我需要能够在某种程度上同时与所有形式进行交互。
我想重新加载的表单几乎没有通过固定控件访问的权限。大多数动态控件是从读取文本文件(用户)和在表单上放置复选框(文本文件中每个用户1个)加载的。
我需要做的第一件事就是每次都准确地写出表格。我用一个按钮打开窗体,但保留对父窗体的所有权。如果父级关闭,则所有子级都应关闭(但不是程序。此子级的父级是子级)。例如:
private void bPermissions_Click(object sender, EventArgs e)
{
Permissions af3 = new Permissions();
af3.Owner = this;
af3.Show();
}
因此,我单击"权限"按钮,表单就会准确打开。如果我再次选择它,则打开表单时不带复选框。如果我关闭"权限",然后尝试重新打开它,它将无法准确加载。只有固定项目加载。我已经尝试过在"开始"窗体和"权限"窗体上的各种事件(FormClosed、FormClosing、Load等)中刷新父窗体和子窗体。
如何在每次尝试打开此表单时准确地刷新它?
编辑:
我是个新手,非常喜欢做这件事。但我正在学习。请友善一点,给我指个方向-D谢谢。
第2版:非模态。无模型。
好的@D.无疑引导我走上了这条路。作为一个新手,我保证我必须做一些挠头的事情。
我是从onLoad 打电话的
private void Permissions_Load(object sender, EventArgs e)
{
WidgetLogic.getPermText(this);
WidgetLogic.getDetailerPermText(this);
WidgetLogic.getAdminPermText(this);
}
我应该在页面加载之前从按钮进行调用,并将其从逻辑传递回targetForm。我想要信息的表格(权限af3)
private void bPermissions_Click(object sender, EventArgs e)
{
Permissions af3 = new Permissions();
af3.Owner = this;
af3.Show();
WidgetLogic.getPermText(af3);
WidgetLogic.getDetailerPermText(af3);
WidgetLogic.getAdminPermText(af3);
}
美味的酱汁!!:-D谢谢!!