gpt4 book ai didi

C# 在开始时隐藏新窗体

转载 作者:行者123 更新时间:2023-11-30 13:34:48 29 4
gpt4 key购买 nike

我有一个隐藏的表单,它加载了一个子表单,2e 表单也应该被隐藏

请注意:我最不使用

ShowInTaskbar = false; //  should be hidden too

如果我使用 (hide/visible) 我最能够在表单之间进行通信,直到它的 visible = true 我才能进行通信;

  this.SetParameterValueCallback += new SetParameterValueDelegate(ShowMain.SetParamValueCallbackFn);
ShowMain.AddItemCallback = new AddItemDelegate(this.AddItemCallbackFn);
//Showsub.Show();
Showsub.Hide(); // not working

我已经试过了

this.Visible = false; // didnt work

BeginInvoke(new MethodInvoker(delegate
{
Hide();
})); // didnt work

base.SetVisibleCore(false); // didnt work, Im not able communicate between form

最佳答案

我真的不明白为什么你可以让它在一个中工作而不是另一个。防止窗体在其 Show() 方法被调用时变得可见需要覆盖 SetVisibleCore 方法。也许您可以利用这段代码:

private bool mAllowVisible = false;

public bool ReallyVisible {
get { return mAllowVisible; }
set {
mAllowVisible = value;
if (value) this.Visible = true;
}
}

protected override void SetVisibleCore(bool value) {
if (value && !IsHandleCreated) CreateHandle(); // Ensure Load event runs
if (!ReallyVisible) value = false;
base.SetVisibleCore(value);
}

关于C# 在开始时隐藏新窗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1952687/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com