C# 将文本框的可见性从form1设置为form2

C# 将文本框的可见性从form1设置为form2,c#,compact-framework,C#,Compact Framework,从其他表单中,我想设置此表单上文本框的可见性,但我不知道如何调用文本框并将属性Visible=false 我尝试使用枚举,但仍然无法解决问题。我不能施展或做任何事。那么我如何将文本框从form1调用到form2 我使用的是C#和CF 3.5 public enum VnosTextBoxType { Ean, PredmetObravnave, Tse, Kolicina, EnotaMere, Lokacija, Zapora, Sarza, Sarz

从其他表单中,我想设置此表单上文本框的可见性,但我不知道如何调用文本框并将属性Visible=false

我尝试使用枚举,但仍然无法解决问题。我不能施展或做任何事。那么我如何将文本框从form1调用到form2

我使用的是C#和CF 3.5

public enum VnosTextBoxType
    {
        Ean, PredmetObravnave, Tse, Kolicina, EnotaMere, 
        Lokacija, Zapora, Sarza, SarzaDobavitelja, Datumod, 
        DatumDo 
    } 

这是我所有文本框的名称。我有一些名为txten、txtpredetobravnave等的文本框,…

在Form2上写一个这样的方法怎么样:

public void SetTBVisible(string name, bool visible)
{
    this.Controls[name].Visible = visible;
}
把这张表格叫做你的表格1

编辑:

public void SetTBVisible(string name, bool visible)
{
    string cName = name.ToLower();
    foreach(Control c in this.Controls)
        if (c.Name.ToLower() == cName)
        {
            c.Visible = visible;
            break;
        }
}

在Form2上写一个这样的方法怎么样:

public void SetTBVisible(string name, bool visible)
{
    this.Controls[name].Visible = visible;
}
把这张表格叫做你的表格1

编辑:

public void SetTBVisible(string name, bool visible)
{
    string cName = name.ToLower();
    foreach(Control c in this.Controls)
        if (c.Name.ToLower() == cName)
        {
            c.Visible = visible;
            break;
        }
}

创建一个名为Globals.cs的新类 写:

转到Form1并生成事件:form load 付诸表决:

以及:

并在Form2中对ChildForm执行相同的操作 现在您可以使用以下命令调用form2:Globals.ChildForm.TextBox1.Visible=false


编辑:别忘了将文本框公开。

创建一个名为Globals.cs的新类 写:

转到Form1并生成事件:form load 付诸表决:

以及:

并在Form2中对ChildForm执行相同的操作 现在您可以使用以下命令调用form2:Globals.ChildForm.TextBox1.Visible=false


编辑:别忘了将文本框公诸于众。

假设您想为form1的textbox1设置Visible=false

当您创建form2的实例时,您必须像下面这样将form1的实例传递到它的构造函数中

Class Form1 : Form 
{
    public void setTextbox(bool val)
    {
       this.Textbox1.visible=val;
    }
    Public void showForm2()
    {
       Form2 f2= new Form2(this);
       f2.show();
    }        
}

Class Form2 : Form 
{
    Form1 f1;

    public Form2(Form form1)
    {
        f1=form1;
    }

    public void setTb()
    {
    f1.setTextbox(false);
    }

}

我希望这将帮助您

假设您希望为form1的textbox1设置Visible=false

当您创建form2的实例时,您必须像下面这样将form1的实例传递到它的构造函数中

Class Form1 : Form 
{
    public void setTextbox(bool val)
    {
       this.Textbox1.visible=val;
    }
    Public void showForm2()
    {
       Form2 f2= new Form2(this);
       f2.show();
    }        
}

Class Form2 : Form 
{
    Form1 f1;

    public Form2(Form form1)
    {
        f1=form1;
    }

    public void setTb()
    {
    f1.setTextbox(false);
    }

}

我希望这将帮助您

您计划如何使用枚举来解决此问题?因此this.textBox1.Visibe=other.textBox1.Visibe;不这样做?您计划如何使用枚举来解决此问题?因此this.textBox1.Visibe=other.textBox1.Visibe;不这样做吗?只控制acept int。字符串不可分配给类型int@V4Vendetta:在正常框架中,它有,是的。我现在不能在CF上测试,但我认为这没什么不同。我想是:(在这里也是一样,也许他可以使用
Find
至少应该可用的Thx-boath来寻求帮助。看起来它可以工作。Thx再次出现。CF与.NEt 3.5完全不同。我甚至不能使用FindComponent:((仅控制acept int。字符串不可分配给类型int@V4Vendetta:在正常的框架中,是的。我现在无法在CF上测试,但我认为这没有什么不同。我想是:(这里也一样,也许他可以使用
Find
至少应该可用的Thx-boath来寻求帮助。看起来它可以工作。Thx再次出现。CF与.NEt 3.5完全不同。我甚至不能使用FindComponent:((