在我需要的时候,我总是在this.Hide
中使用Form1_Load(...)
并且它始终有效。但是现在在一个新项目中,this.Hide
无法在任何地方工作,这是我唯一的代码!
private void Form1_Load(object sender, EventArgs e)
{
this.Visible = false;
this.Hide();
}
为什么表格不隐藏?
答案 0 :(得分:2)
它在Load中调用时无法正常工作。负载在实际可见之前发生,因此您无法将其隐藏起来。
你也应该在询问之前进行搜索:
why isn't this.Hide() working in Form1_load event?
Hiding forms on startup: why doesn't this.Hide() hide my form?
答案 1 :(得分:1)
Load
事件为时尚早隐藏Form
,因为它尚未显示。
覆盖OnShown
方法时,它对我有效:
protected override void OnShown(EventArgs e)
{
base.OnShown(e);
this.Visible = false;
this.Hide();
}
或者,当然,为Shown
事件创建一个处理程序。
这两个电话中的任何一个都很好。你不需要两者。
答案 2 :(得分:1)
来自here:
private bool mShowAllowed;
protected override void SetVisibleCore(bool value)
{
if (!mShowAllowed) value = false;
{
base.SetVisibleCore(value);
}
}
答案 3 :(得分:0)
或者您只需隐藏在Form1的Shown
事件中:
private void Form1_Shown(object sender, EventArgs e)
{
this.Hide();
}
答案 4 :(得分:0)
对我而言,这是有效的。
private void Form1_Load(object sender, EventArgs e)
{
this.Opacity = 0;
}