表单不显示控件,它显示一个空表单

时间:2015-11-29 20:20:24

标签: c# winforms

Details表单即使从Welcome表单调用也不会显示任何内容。

这里是所有代码(就像登录注册项目):

详情表格

namespace D
{
    public partial class Details : Form
    {
        public string dtext1;
        public string orform = string.Empty;
        public string orform2 = string.Empty;
        public string orform3 = string.Empty;
        public string orform4 = string.Empty;
        public Details(string incomform,string incomform2,string incomform3,string incomform4)
        {
            InitializeComponent();
            orform = incomform;
            orform2 = incomform2;
            orform3 = incomform3;
            orform4 = incomform4;
        }

        public Details() 
        {
        }

        private void Details_Load(object sender, EventArgs e)
        {
            textBox1.Text = orform;
            textBox2.Text = orform2;
            textBox3.Text = orform3;
            textBox4.Text = orform4;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.Hide();
        }
    }
}

欢迎表格

namespace D
{
    public partial class Welcome : Form
    {

        public Welcome()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
           Details Det = new Details();
            Det.ShowDialog();
            this.Close();
        }
    }
}

任何帮助/建议都会是一个很大的合法帮助

2 个答案:

答案 0 :(得分:4)

问题出在您的Details表单构造函数中,您没有在其中调用InitializeComponent();。将其更改为:

public Details() 
{
    InitializeComponent();
}

所有设计器生成的代码(包括控件定义,属性和布局)都在InitializeComponent中,应该在表单中调用构造函数,以便为表单添加控件并执行布局。

答案 1 :(得分:0)

问题是您正在调用此方法:

this.Close();

所以你要关闭应用程序,所以试试这样:

private void button1_Click(object sender, EventArgs e)
    {
       Details h = new Details();
        h.ShowDialog();
        this.Hide();
    }

我建议不要调用类似Det的方法,因为根据您使用的库,Det可能是其他名称,因此可能会破坏您的程序。