是C#编程的新手。这是我的麻烦: 我想在Windows Form 1 Load上显示一个新的Form 2和Hide Form 1。
这是我目前的代码;
private void Form1_Load(object sender, EventArgs e)
{
var Form2 = new Form2();
Form2.Show();
this.Hide();
}
我对当前代码的计算错误:
当Form 1加载其Form 2时,它并没有隐藏自己。 this.Hide
声明无法正常工作,我尝试this.Close
但这将关闭整个软件,因为它正在关闭主表单。
任何人都可以帮我解决这个错误。
答案 0 :(得分:0)
您可以使用可见属性隐藏表单。
private void Form1_Load(object sender, EventArgs e)
{
var Form2 = new Form2();
Form2.Show();
this.Visible=false;
}
答案 1 :(得分:0)
我认为错误是你在隐藏上一个表单之前显示form2。
private void Form1_Load(object sender, EventArgs e)
{
var Form2 = new Form2();
form1.Visible=false;
Form2.Show();
}
您还可以使用show dailog method()将form2设置为模态,通过该方法将焦点赋予form2,并且form1变为非活动状态,尽管它将被显示。
模态和无模式https://msdn.microsoft.com/en-IN/library/aa984358%28v=vs.71%29.aspx
答案 2 :(得分:0)
这是我如何设法完成这项工作的。
新代码: 表格1
private void Form1_Load(object sender, EventArgs e)
{
var Form2 = new Form2();
Form2.Show();
}
private void Timer_Tick(object sender, EventArgs e)
{
if (Properties.Settings.Default.Status == "Form2Visible")
{
this.Hide();
}
}
说明: 在Windows窗体1上显示表单2,然后使用计时器验证Properties.Settings值。如果Properties.Settings = Form2Visible,则表单1将隐藏。在表单2上完成后,我只需要将Properties.Settings更改为其他内容并在表单1上停止计时器。
如果他们是最简单的方式让我知道。