C# 遮罩层

问题

记录制造遮罩层时遇到的问题,语言是C#。
初次制作遮罩层时用的是网上的代码,出处不知,代码也很好找,就不贴了,如图。
在这里插入图片描述
看上去很不错,都遮住了,但是这是在这个panel中没有其他panel的情况。拉入一个新的panel,把button3放入。
在这里插入图片描述
问题出现了,button3没被遮住。 有人说,可能是Z-index的问题,反正我用这个思路没解决问题。

解决问题

思路1(浅谈)

论坛有人说用form解决了,没详细说,我就尝试了一下,基本可行。
新建一个Form, 修改属性,
StartPosition ->CenterParent
Opacity ->50%
ShowInTaskbar -> false
FormBorderStyle -> None
Text -> 清空
修改一下背景颜色
在show的点击事件加入以下代码:

        Form form = new opa();
        form.Location = this.Location;
        form.Size = this.Size;
        form.ShowDialog();

效果图:
在这里插入图片描述
这结果看起来还行,修改一下遮罩Form的Location和Size或许就可以使用了。注意,form建议使用ShowDialog(),使用Show(),主窗口最小化时,遮罩层还在。form的解决思路到这里就没有继续研究了。

2021_4_20编辑:关于Form实现 推荐
https://blog.csdn.net/weixin_42535339/article/details/89637743

思路2

既能有弹出窗口,又能遮罩完全的方法是自己想的,略有些笨拙,但好歹能实现预期效果。
在这里插入图片描述
问题看起来是因为button3在panel1的panel2中,所以没法遮住,那就把panel2也加个遮罩吧。

代码

代码(在原代码上修改)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
C是一种广泛使用的编程语言,由丹尼斯·里奇在1972年至1973年间在贝尔实验室开发。C语言被设计为一种系统编程语言,用于编写操作系统、编译器以及其他各种系统软件。它是一种高度灵活和高效的语言,因此在软件开发领域被广泛采用。 C语言被称为一种高级语言,因为它与计算机硬件无关,开发者可以使用它来编写可移植的代码。与低级语言相比,C语言提供了更多的抽象和封装能力,使得程序员可以更方便地进行代码编写和维护。 C语言的语法相对简洁,主要包括变量、运算符、流控制语句等基本元素。它提供了丰富的库函数,使得开发者能够更轻松地实现复杂的功能。C语言还支持指针,这是它与其他编程语言的一个重要区别。指针可以用于直接访问内存地址,这样可以加快程序的执行速度并节省内存空间。 C语言的应用范围非常广泛。许多操作系统使用C语言进行开发,包括UNIX、Linux和Windows等。很多著名的编译器也是用C语言编写的,如GCC、Clang等。此外,许多大型软件项目,如数据库、游戏和网络应用等,也使用C语言进行开发。 总而言之,C语言是一种强大而灵活的编程语言,广泛应用于系统软件和大型项目的开发,具有高效性和可移植性的特点。掌握C语言对于计算机科学专业的学生来说非常重要,它是深入理解计算机原理和系统架构的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值