所以我有2个表格:
Form2上有一个按钮,我想在点击时隐藏Form1。
按钮从Form2中的按钮单击
var mainFrm = new Form1();
mainFrm.Hide();
这没有任何作用。我显然错过了一些东西,但似乎无法弄明白。
绝对赞赏任何帮助!
答案 0 :(得分:0)
如果您的form1已经存在于页面中,那么为什么还需要再次初始化它?只需将可见状态设置为false即可隐藏它。
mainFrm.Visible = false;
答案 1 :(得分:0)
没有看到更多的代码,很难回答,但你肯定需要引用已经可见的旧Form1
并隐藏它。您正在创建一个新表单并将其隐藏。
答案 2 :(得分:0)
您必须定义Form2类以存储对主窗体的引用。
{
"kind": "youtube#channelListResponse",
"etag": "fooHash",
"pageInfo": {
"totalResults": 1,
"resultsPerPage": 1
},
"items": [{
"kind": "youtube#channel",
"etag": "fooHash",
"id": "fooHash",
"contentDetails": {
"relatedPlaylists": {
"likes": "fooHash",
"favorites": "fooHash",
"uploads": "fooHash"
},
}
"googlePlusUserId": "{ID}"
}]
}
现在,在创建Form2实例时,只需将主窗体添加到构造函数中:
public partial class Form2 : Form
{
/* reference to the main form will be stored here */
private Form1 _mainForm;
public Form2(Form1 mainForm)
{
InitializeComponent();
/* Initialize the main form field */
this._mainForm = mainForm;
}
private void button1_Click(object sender, EventArgs e)
{
/* Set the main form visibility to false */
_mainForm.Visible = false;
}
}
注意: 此 将引用创建Form2对象的表单。
答案 3 :(得分:0)
您可以在Form1中创建静态表单类型属性,并在显示Form1时设置它,然后使用它来隐藏表单 这是一个适合我的代码。
private void button1_Click(object sender, EventArgs e)
{
var objForm1 = new Form1();
Form1.Fom1ref = objForm1;
objForm1.Show();
}
private void button2_Click(object sender, EventArgs e)
{
Form1.Fom1ref.Hide();
}
以下是应在Form1中设置的属性。
public static Form Fom1ref { get; set; }