【发布时间】:2016-12-13 13:59:18
【问题描述】:
我像这样覆盖了一个表单(System.Windows.Forms.Form,我将其称为 Form0)的 CreateParams 属性
protected override CreateParams CreateParams
{
get
{
CreateParams _CreateParams = base.CreateParams;
_CreateParams.ExStyle |= (WS_EX_NOACTIVATE | WS_EX_TOOLWINDOW);
_CreateParams.Parent = IntPtr.Zero;
return _CreateParams;
}
}
这个窗口应该不能被激活(WS_EX_NOACTIVATE)并且在任务栏中没有显示图标(WS_EX_TOOLWINDOW)。
我用的时候效果很好
Application.Run(new Form0());
但是当我使用时它并没有像我预期的那样工作
Form0.Show()
我想知道使用Show()时为什么以及如何使它生效。
【问题讨论】:
-
不确定这些问题中的任何一个如何回答这个问题。问题是,在哪里你打电话给
Form0.Show()?您是否尝试在您的main方法中执行此操作?如果是这样,那么不,那是行不通的。 -
@CodyGray 我有另一个表单(我将其称为 Form1)放在前台,并且在 Form1 中有一个文本框,当该文本框获得焦点时我调用 Form0.Show()。
-
在
OnFocus()中调用Form0.Show()之后会发生什么?