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

时间:2014-10-15 14:17:54

标签: c# winforms modal-dialog refresh

我试图简单地让表单正确加载。它是模态父类的无模式子形式(它本身是主UI的无模式子形式)。我需要能够同时与所有表单进行交互。

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

我需要做的第一件事就是每次都准确地写出表格。我用一个按钮打开表单,但保留对父母的所有权。如果父母关闭,所有孩子都应该关闭(但不是程序。这个孩子的父母是孩子)。例如:

    private void bPermissions_Click(object sender, EventArgs e)
    {

        Permissions af3 = new Permissions();
        af3.Owner = this;
        af3.Show();
    }

所以我点击按钮权限,表格准确打开。如果我再次选择它,表单将打开而不显示复选框。如果我关闭权限然后尝试重新打开它,它将无法准确加载。只加载固定项目。我已尝试在Start窗体和Permissions窗体的各种事件(FormClosed,FormClosing,Load等)中刷新.Refresh()父窗体和子窗体。

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

编辑:

我是一个新手,非常喜欢这样做。但我正在学习。请善待并指出我的方向。 :-D谢谢。

EDIT2:非模态。模态的。

1 个答案:

答案 0 :(得分:0)

确定。 @D ..绝对让我走上了正轨。作为一个Newb,我保证我不得不做一点点挠头。

我正在接受来自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谢谢!!