我有一个隐藏的表单,这个加载一个子表单,2e表单也应该被隐藏
请注意:我最不习惯
ShowInTaskbar = false; // should be hidden too
Run Code Online (Sandbox Code Playgroud)
如果我使用(隐藏/可见),我最能够在表单之间进行通信,直到它的可见=真;
this.SetParameterValueCallback += new SetParameterValueDelegate(ShowMain.SetParamValueCallbackFn);
ShowMain.AddItemCallback = new AddItemDelegate(this.AddItemCallbackFn);
//Showsub.Show();
Showsub.Hide(); // not working
Run Code Online (Sandbox Code Playgroud)
到目前为止我已经尝试过
this.Visible = false; // didnt work
BeginInvoke(new MethodInvoker(delegate
{
Hide();
})); // didnt work
base.SetVisibleCore(false); // didnt work, Im not able communicate between form
Run Code Online (Sandbox Code Playgroud)
我真的不明白为什么你能够让它在一个而不是另一个工作.在调用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);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4956 次 |
| 最近记录: |