C# 每次获得焦点或创建WinForm时都准确加载它

C# 每次获得焦点或创建WinForm时都准确加载它,c#,winforms,modal-dialog,refresh,C#,Winforms,Modal Dialog,Refresh,我只是想让表单正确加载。它是模态父级的非模态子窗体(它本身是主UI的非模态子窗体)。我需要能够在某种程度上同时与所有形式进行交互 我要重新加载的表单通过固定控件几乎没有访问权限。主要是通过读取文本文件(用户)和在表单上放置复选框(每个用户在文本文件的列中各1个)加载的动态控件 我需要做的第一件事就是每次都准确地填写表格。我用一个按钮打开表单,但保留对家长的所有权。如果父项关闭,则所有子项都应关闭(但程序除外。此子项的父项是子项)。例: 因此,我单击按钮,表单将准确打开。如果我再次选择它,表单将打

我只是想让表单正确加载。它是模态父级的非模态子窗体(它本身是主UI的非模态子窗体)。我需要能够在某种程度上同时与所有形式进行交互

我要重新加载的表单通过固定控件几乎没有访问权限。主要是通过读取文本文件(用户)和在表单上放置复选框(每个用户在文本文件的列中各1个)加载的动态控件

我需要做的第一件事就是每次都准确地填写表格。我用一个按钮打开表单,但保留对家长的所有权。如果父项关闭,则所有子项都应关闭(但程序除外。此子项的父项是子项)。例:

因此,我单击按钮,表单将准确打开。如果我再次选择它,表单将打开,但没有复选框。如果我关闭权限,然后尝试重新打开它,则无法准确加载。仅加载固定项目。我尝试在开始窗体和权限窗体上的各种事件(FormClosed、FormClosed、Load等)中对父窗体和子窗体执行.Refresh()

如何在每次尝试打开时准确刷新此表单

编辑:

我是个新手,非常喜欢这样做。但我正在学习。请仁慈地给我指个方向-D谢谢你


编辑2:不是模态。无模式。

正常@D肯定会引导我走上这条路。作为一个新手,我保证我必须做一些挠头

我是从onLoad打电话的

    private void Permissions_Load(object sender, EventArgs e)
    {

        WidgetLogic.getPermText(this);
        WidgetLogic.getDetailerPermText(this);
        WidgetLogic.getAdminPermText(this);
    }
我应该在页面加载之前通过按钮进行调用,并将其从逻辑传递回targetForm。我希望信息进入的表单(权限af3)


太棒了-D谢谢你

我想你的问题可能在许可表格中。您什么时候以这种形式创建控件?每次单击按钮时,您都在创建该表单的新版本。。。因此,子窗体可能就是区别所在。请注意:
Modeless
窗体在调用
frm.Show()
model
时打开,当
frm.ShowDialog()
我在权限加载时创建控件(对象发送方,事件参数e){WidgetLogic.getPermText(this);}*其中,这是对Permissions.cs中System.Windows.Forms.Form targetForm*\的引用,通过从逻辑文件馈送它们。六羟甲基三聚氰胺六甲醚。。。我已尝试在Start在离开时失去焦点时将refresh()放入发送方。也许refresh()应该在Start.cs的其他位置?@Reniuz正确。编辑。非常感谢。Modeless@D.. 明亮的我调用了逻辑并引用了af3,而不是调用了逻辑onLoad,它每次都工作得很好。非常感谢你!!
    private void Permissions_Load(object sender, EventArgs e)
    {

        WidgetLogic.getPermText(this);
        WidgetLogic.getDetailerPermText(this);
        WidgetLogic.getAdminPermText(this);
    }
    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);
    }