WinForm 窗口保持在屏幕最前面

WinForm(C#)开发,有多个窗口,遇到的情况是,打开了窗口A,然后点A以外的其他地方,A就被最小化了。

现在要实现的效果是,窗口A打开后,点A以外的区域时,A保持在所有窗口的最前面,不隐藏。

网上查询一番,找到了比较简单的方法:设置窗体的TopMost属性为true.

https://stackoverflow.com/questions/683330/how-to-make-a-window-always-stay-on-top-in-net

这个方法对于一般情况有效。

不过如果打开了A之后,在A基础上再打开B,那么即便B设置了TopMost=true, 点击B以外的地方,B还是会最小化。

再次查询,这次找到了比较彻底的办法:

在打开窗体是的时候,在窗体的  Form.Show()方法中,把父窗体 this 作为参数放进去:

formTreatRecord = new FormTreatRecord();
formTreatRecord.Show(this);
formTreatRecord.Focus();

实测有效,这个无论点击哪个区域,该窗体始终在最前面。

C#和VB都有效。

参考:https://stackoverflow.com/questions/29698453/how-to-keep-a-form-on-top-of-others-in-vb-net

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付 39.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值