VB.NET-加载时隐藏表单
关于这一点,有几个问题,但它们都给出了相同的答案VB.NET-加载时隐藏表单,vb.net,visual-studio,visual-studio-2015,Vb.net,Visual Studio,Visual Studio 2015,关于这一点,有几个问题,但它们都给出了相同的答案Me.Hide(),如果你计算一下,当它加载时,它会显示,但随后会隐藏几秒钟,这会产生一种奇怪的阴影-y-Laggy效果 例如: (显示并几乎立即隐藏的小窗口是我试图从不显示的窗口) 有没有办法在加载时隐藏整个表单?我知道整个VisibilityCore方法,但我无法在以后找到再次显示它的方法 那么,有没有办法隐藏它,让它永远不会显示,除非我告诉它显示 当前我正在使用“Hide()结合Form.Show方法”。如果您将表单的不透明度属性设置为0(通
Me.Hide()
,如果你计算一下,当它加载时,它会显示,但随后会隐藏几秒钟,这会产生一种奇怪的阴影-y-Laggy效果
例如:
(显示并几乎立即隐藏的小窗口是我试图从不显示的窗口)
有没有办法在加载时隐藏整个表单?我知道整个VisibilityCore方法,但我无法在以后找到再次显示它的方法
那么,有没有办法隐藏它,让它永远不会显示,除非我告诉它显示
当前我正在使用“Hide()结合Form.Show方法”。如果您将表单的
不透明度属性设置为0
(通过属性窗口),则不应出现此问题
当您想要显示表单时(如果要显示的话),只需将不透明度设置回1.0
如果您将表单的opacity
属性设置为0
(通过属性窗口),则不应出现此问题
当你想显示表单时(如果要显示的话),只需将不透明度设置回1.0
不透明度仍然是个难题。正确的方法是完全不显示它,而不是让它看不见。为此,根本不要将其作为“启动对象”
在“项目属性”屏幕的“应用程序”选项卡上,有一个启动对象设置。创建一个带有Sub Main()的模块,并将其作为应用程序的入口点,方法是选择它作为启动对象,而不是选择看起来没有任何视觉效果的小表单
也许你有一些初始化代码在那开始的形式…移动到Sub-Main。不透明仍然是一个黑客。正确的方法是完全不显示它,而不是让它看不见。为此,根本不要将其作为“启动对象”
在“项目属性”屏幕的“应用程序”选项卡上,有一个启动对象设置。创建一个带有Sub Main()的模块,并将其作为应用程序的入口点,方法是选择它作为启动对象,而不是选择看起来没有任何视觉效果的小表单
也许您在起始表单中有一些初始化代码…将其移动到Sub-Main。您可以在应用程序启动时最小化表单
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form fm = new Form1();
fm.WindowState = FormWindowState.Minimized;
Application.Run(fm);
}
您可以在应用程序启动时最小化表单
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form fm = new Form1();
fm.WindowState = FormWindowState.Minimized;
Application.Run(fm);
}
难道你不能将Visible属性设置为false吗?@DigitalBrain从外观上看,它什么都不做。我刚才又试了一次,但还是没什么变化。(我在Form.Load上的Hide()之前执行了它)您可以创建表单实例,然后只在需要时显示它。我假设这是“主窗体”,在这种情况下,它是VB应用程序框架加载并为您显示它。我从没见过它像这样闪烁。如果在调用Form.Show()
之后立即调用Form.Visible=False
会发生什么情况?@visualvent我不使用Show(),我使用应用程序属性中的应用程序设置将其设置为在应用程序打开时加载。难道你不能将Visible属性设置为False吗?@DigitalBrain从外观上看,它什么都不做。我刚才又试了一次,但还是没什么变化。(我在Form.Load上的Hide()之前执行了它)您可以创建表单实例,然后只在需要时显示它。我假设这是“主窗体”,在这种情况下,它是VB应用程序框架加载并为您显示它。我从没见过它像这样闪烁。如果在调用Form.Show()
之后立即调用Form.Visible=False
会发生什么?@visualincent我不使用Show(),我将其设置为在使用应用程序属性中的应用程序设置打开时加载。@ShinyMK:*啊哼*将其标记为答案,请*啊哼*:)我知道这是一个黑客答案,请改用Sub Main()。这就是它的用途。@Gadget先生:这只是一种黑客行为,取决于它的用途。如果它被用来隐藏一个实际的表单(出于某种原因),然后在以后显示它,那么它不是一种黑客方式:)。@ShinyMK:*啊哼*将它标记为答案,请*啊哼*:)我知道这是一个黑客答案-改为使用Sub Main()。这就是它的用途。@Gadget先生:这只是一种黑客行为,取决于它的用途。如果它被用来隐藏一个实际的表单(出于某种原因),然后在以后显示它,那么它不是一种黑客方式:)。