Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 具有不同命名空间的窗体_C#_Visual Studio 2010 - Fatal编程技术网

C# 具有不同命名空间的窗体

C# 具有不同命名空间的窗体,c#,visual-studio-2010,C#,Visual Studio 2010,我有以下表格: namespace Robo2013 { public partial class frm_principal : Form { public frm_principal() { InitializeComponent(); } } } 此表单有一个treeview和一个面板,面板上的treeview显示表单带有此代码 private void treeView1_AfterS

我有以下表格:

namespace Robo2013
{
    public partial class frm_principal : Form
    {
        public frm_principal()
        {
            InitializeComponent();
        }
    }
}
此表单有一个treeview和一个面板,面板上的treeview显示表单带有此代码

   private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
   {
        //Grande If, else para selecionar os forms a partir do clique de um node.
        if (treeView1.SelectedNode.Text == "Grupo")
        {
            panelmain.Controls.Clear();
            frm_grupo grupo = new frm_grupo();
            grupo.TopLevel = false;
            grupo.AutoScroll = true;
            panelmain.Controls.Add(grupo);
            grupo.Show();
        }
   }
这很好,但我想调用另一个窗体,从面板上通过一个按钮:

namespace Robo2013.Robo_Forms 
{
    public partial class Frm_robo_email : Form
    {
        public Frm_robo_email()
        {  
            InitializeComponent(); 
        }

        private void btn_configuracoes_Click(object sender, EventArgs e)
        {
        }
    }
}

如果MSDN文档中有不同的名称空间,如何向面板调用表单:

namespace关键字用于声明包含集合的范围 相关对象的定义。您可以使用命名空间来组织代码元素 并创建全局唯一的类型

您需要使用完全限定名称空间或相对名称空间实例化另一个表单的实例,或者使用指令向C#类文件添加

完全限定命名空间:

Robo2013.Robo_Forms.Frm_robo_email emailFrm = new Robo2013.Robo_Forms.Frm_robo_email();
emailFrm.Show();
Robo_Forms.Frm_robo_email emailFrm = new Robo_Forms.Frm_robo_email();
emailFrm.Show();
using Robo2013.Robo_Forms;

...

Frm_robo_email emailFrm = new Frm_robo_email();
emailFrm.Show();
相对命名空间:

Robo2013.Robo_Forms.Frm_robo_email emailFrm = new Robo2013.Robo_Forms.Frm_robo_email();
emailFrm.Show();
Robo_Forms.Frm_robo_email emailFrm = new Robo_Forms.Frm_robo_email();
emailFrm.Show();
using Robo2013.Robo_Forms;

...

Frm_robo_email emailFrm = new Frm_robo_email();
emailFrm.Show();
使用指令:

Robo2013.Robo_Forms.Frm_robo_email emailFrm = new Robo2013.Robo_Forms.Frm_robo_email();
emailFrm.Show();
Robo_Forms.Frm_robo_email emailFrm = new Robo_Forms.Frm_robo_email();
emailFrm.Show();
using Robo2013.Robo_Forms;

...

Frm_robo_email emailFrm = new Frm_robo_email();
emailFrm.Show();
请注意,要使用相对命名空间,需要从父命名空间引用子命名空间。本例中的父命名空间是Robo2013


下面是关于在C#中使用名称空间的更多信息:

调用另一个表单到底有什么问题?请告诉我们你试过什么。