让 Winform 窗口悬浮的简单方式

摘要:
多次设置TopMost属性会莫名其妙地失败,有时会失败。我一直想知道为什么会这样?后来,我尝试了几次,发现这个属性必须在表单的其他一些属性之后设置,例如Height和Width。

很多次设置这个 TopMost 属性会莫名的不起作用,有时又可以。一直在想是为什么会这样?

后来多次尝试,发现这个属性必须在窗体某些其他属性后设置,比如在 Height、Width 这样的属性后。

看了下 Windows 窗体应用程序启动时,主窗体的启动事件将按照以下顺序引发:

Control.HandleCreated
Control.BindingContextChanged
Form.Load
Control.VisibleChanged
Form.Activated
Form.Shown

所以在最后一个事件 Shown 里设置这个 TopMost 应该是最可靠的:

       private void Form1_Shown(object sender, EventArgs e)

        {

            this.TopMost = true;
        }


---------------------
作者:Gary9529
来源:CSDN
原文:https://blog.csdn.net/beyonddeg/article/details/53428406
版权声明:本文为博主原创文章,转载请附上博文链接!

免责声明:文章转载自《让 Winform 窗口悬浮的简单方式》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【转】FFmpeg采集设备简单聊聊,如何设计站内信?下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ubuntu 各种窗体操作

通用 ctrl+alt+0~9 改变窗体大小和是否显示 alt+F4 关闭窗体菜单键+相应启动器位置的编号打开程序 ctrl+pageup/pagedown 在tab间移动 ctrle+shift+pageup改变tab的位置 终端界面 ctrl+w 关闭tab ctrl+alt+t 打开新终端窗体 浏览器 ctrl+w或ctrl+F4关闭tab ctr...

delphi中时间控制

用TTimer的思路有点问题。 请参考以下思路:   窗体建立时,记录GetTickCount值(关于GetTickCount,请Google),然后,捕捉鼠标键盘消息,如有发送到本窗体的鼠标键盘消息,则重 新记录GetTickCount值,如无,则计算当前GetTickCount值减去原值是否大于规定时间,如大于则Close。 例子如下: //思路是这样...

集成WPF与Windows窗体

下载source - 1.92 MB 介绍 本文讨论如何将WPF XPS文档查看器集成到Windows窗体应用程序中。 “WPF给我们带来了一个美好的未来,我们都应该开始使用它,把我们所有的产品都换成它。” 这是个好主意,但对我们大多数人来说,这是不可能的。例如,我们的主要产品有成千上万行代码和数百个表单。把所有这些都扔进垃圾桶,然后重新开始,这将是经济上...

【基础知识】winfrom窗体的属性

窗体的属性: Icon:窗体的右上角图标 FormBoarderStyle:窗体的边线样式 MaximizeBox: 最大化按钮是否可用 MinimizeBox:最小化按钮是否可用 Opacity:透明度 ShowInTaskbar:是否在任务栏上显示 StartPosition:启动程序时显示的位置 Text:标题栏的名称 TopMost:保持在最前端,...

winform知识

控件相关 1.文本框/label高度 文本框Multiline属性,设为true就可以了。改完高度后再将此属性改回来,要不然多行文本框,按回去就去下一行了。 label的改autoSize属性,设为false就可以了。 2.控件中文字居中 TextAlign属性:MiddleCenter 3.颜色属性 直接输入 #xxxx 4.如何去掉button按钮的...

Winform控件

控件 添加控件:利用ToolBox,直接在form.cs[design]中可视的添加 代码添加: 在form.designer.cs中InitializeComponent()中添加 如:this.label1 = new System.Windows.Forms.Label() 在form.cs中的构造函数Form()添加 如:Button...