从类更改表单的可见性属性

时间:2014-05-20 15:51:58

标签: c# winforms

我有一个多页程序,通过更改其可见性来更改其显示的元素,该可见性写在mainForm类(从Form1重命名)中。现在随着我的程序变得越来越复杂,我想要制作某种外部类,所有这些状态都会被改变,因为我有26个文本框和3个显示它们的选项,这意味着我有78行textBox1。 visibility = true;线。

我尝试创建一个类并将所有文本框的修饰符更改为public并在我的interfaceClass中创建了一个form1实例(MainForm mainform = new MainForm();)但这根本不会改变我的表单中的任何内容虽然没有发生语法或运行时错误。

我只想要一些关于如果能够实现这一点的建议。

2 个答案:

答案 0 :(得分:3)

你不需要为此单独上课;只需在表单CheckVisibility()中编写一个方法,然后在需要的地方调用该方法,以确保正确显示或隐藏控件。包括所有必要条件并显示/隐藏该方法中的更改。

答案 1 :(得分:0)

在设计器中将控件设置为public:

public System.Windows.Forms.Button button1;

创建一个新类,例如将其重命名为exampleClass

public class exampleClass
{
    public static Form1 frm;

    public static void HideButton()
    {
        frm.button1.Visible = false;
    }
}

在Form1 InitializeComponent之后添加:

exampleClass.frm = this;

现在,您可以从任意位置隐藏按钮:

exampleClass.HideButton();