C# 制作不规则窗体的两种解决方案

我的广告单元,有空点一下哦,谢谢!

  冒着被拍砖的危险,投放到首页。C#制作不规则窗体应该又是一个老生常谈的问题了,可能很多老鸟会带BS的眼神,那么请老鸟们视该文章如浮云吧。

  制作不规则窗体,本例采用图片背景形式,这也是通常的思路。以前也做过类似的案例,但都不深入,这次项目中需要用到,顺便理了下思路,找到另一种比较简单的方法,下面介绍下两种解决方案。


  第一种:也是大家管用的一种方法,实现步骤如下

     ①:准备一张bmp的图片,图片的背景最好为一种简单纯色,方便窗体指定透明色,例如下面图片:

  2011072822301158.jpg

  (图片背景为白色,边框是园子的css效果,不能传bmp,jpg代替)

  ②:在VS里面新建窗体,窗体FormBorderStyle:None

  ③:找到窗体的TansparencyKey,将它设置为你背景图片的背景色(如白色)

  OK,第一种设置到这里就可以了,运行效果如下:

  

  没有任何问题,能够打到不规则窗体的的效果,但是你会发现,如果你的图片背景颜色和图片主内容很接近,或者存在共同颜色的时候,难免会出现锯齿,部分地方透明模糊等情况,那么如何解决这个问题呢,看第二种解决方案



  
第二种解决方案:(采用透明Png图片格式)

  上一种方法用的是bmp格式,这次采用png格式,大家知道png是支持图片背景透明的。准备图片如下:

  

  (为了好看一点,直接接了个图标,证明是png格式,而且背景是透明的,呵呵)


  ①:同样创建一个窗体背景图片指定png格式的图片

  ②:同样设置窗体的FormBorderStyle:None

  ③:不同点来了哈,这里指定好了图片png后,窗体的大小可以随便设置(当然你要保证能显示出全部png图片),之后设定窗体的BackColor:Control(这是默认的,当然你也能修改),最后设定TansparencyKey等于你的BackColor的颜色即可,这样就可以完整的显示出png图片了

 

  可以看的出,两种解决方案其实大同小异,不同的是第二种方案灵活性比较高一点,能够实现些很好的效果,而不会影响图片质量(毛边等)。


  Show一下花了一天做的一个图片。

  

转载于:https://www.cnblogs.com/qidian10/archive/2011/07/28/2120445.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/410470.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新概念英语第二册课文电子版_新概念英语第二册课文学生(Victoria)朗读

点击上"蓝字"关注我们专栏介绍【悦读时刻】是我们为中小学生在英语、语文朗读中的佼佼者开辟的专栏。我们会在优秀朗诵内容中进行优选之后上传发布。外研社新概念英语 II编者:何其莘 &L.G. AlexanderLONGMAN2简 介《新概念英语》(New Concept Engl…

C# 淘宝商品微信返利助手开发-(九)编写一个vue页面用于复制淘口令

系列教程一目录:返利助手原理 系列教程二目录:返利助手开放文档以及帐号申请地址 系列教程三目录:返利助手开发(1)API介绍 系列教程四目录:返利助手开发(2)淘宝分享的内容如何只取…

python color属性_使用Python制作一个带GUI界面的词云自动生成工具(连载七)

前几篇向大家介绍了词云自动生成工具(GUI)的详解GUI词云自动生成工具中词云属性设置界面的实现(连载六)。通过前面内容我们基本构建出了词云自动生成工具的主要框架。本篇结合tkinter中的filedialog和colorchooser的使用&#xff…

python爬取微博评论_用 python 爬取微博评论并手动分词制作词云

最近上海好像有举行个什么维吾尔族的秘密时装秀,很好看的样子,不过我还没时间看。但是微博上已经吵翻了天,原因是好吧,这不是我们关心的,我的心里只有学习我爱学习 Python 爬虫 本次爬取的是这条微博这条微博 微博的移…

公众号出现该公众号提供的服务出现故障分析

近日公众号出现了 出现该公众号提供的服务出现故障的错误提示 百度了一下这种错误的可能性 在这里插入图片描述 1. 程序后台未回复微信success 2. 5秒内无响应 3. 授权给了多个第三方平台,其中一个不可用。 4. ToUserName和 FromUserName 参数不正确无法找到接收…

数据结构之栈对逆BoLand表达式的计算

一. 后缀表达式: 后缀表达式,逆波兰表达式,是指运算符位于操作符之后,计算机对该式是从做到右进行计算,计算过程如下例子 二.计算思路 对于后缀表达式的计算,需要一个栈即可, 即遇见数字压栈,遇见运算符从栈中取出两个数,根据运算进行操作, 需要注意的是,减法以及除法都是后出栈…

c++ fork 进程时 共享内存_c/c++ Linux 进程间通信------共享内存

1. 什么是共享内存共享内存(Shared Memory),指两个或多个进程共享一个给定的存储区。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是由用C语言函数malloc分配的内存一样。而如果某个进…

python爬取新闻网站内容_python爬虫案例:抓取网易新闻

此文属于入门级级别的爬虫,老司机们就不用看了。 本次主要是爬取网易新闻,包括新闻标题、作者、来源、发布时间、新闻正文。 首先我们打开163的网站,我们随意选择一个分类,这里我选的分类是国内新闻。然后鼠标右键点击查看源代码&…

如何查看QQ和微信查看授权过那些应用?

平时生活中,要登录一些网站或者app时,为了省事儿,都用第三方登录,登录是简单快捷了一些 时间长了,授权过的那些应用都不知道了,甚至一些应用你没用去授权权限也一直开放给别人网站的 所以为了自己帐号的安全还是有必…

C# ASP.NET MVC 图片上传的多种方式(存储至服务器文件夹,阿里云oss)

图片上传时我们进场用到的一个功能今天将他整理了一下写了个demo希望对大家有用 该demo分为如下 1.上传至至服务器文件夹 2.上传至阿里云oss 3.百度webupload上传图片 效果图如下: 首先讲解一下后台代码 (1)上传至服务器存储 using System; using System.Collections; u…

java变量命名规则_浅谈JAVA开发规范与开发细节(上)

开发团队在开发过程中,由于每个人的开发习惯,以及对于技术的理解深浅程度不一,往往一个项目在开发过程中,代码的质量,代码的风格都不尽相似,所以有一份适合团队的代码规范是非常有必要的,而一个…

Charles

安装 https://www.jianshu.com/p/cb744a4c0344 https://blog.csdn.net/qq_28831197/article/details/81196571 使用说明: 来源:https://www.jianshu.com/p/73b134559c76 过滤网络请求 通常情况下,我们需要对网络请求进行过滤,只监…

.NET Core Docker使用初入篇

本篇内容如何在CentOS上安装Docker服务器与工具准备安装Docker更新系统安装Docker源设置Docker开机启动启动Docker使用Docker运行一个.NET Core 例子.net core 例子拉取.net core 例子停止.net core 例子启用其他如何在CentOS上安装Docker 服务器与工具准备 首先我们需要一个…

如何延长作用域链_第4部分2:作用域(链)和 闭包

知识列表作用域/作用域链 闭包(涉及JS垃圾回收机制 )https://zhuanlan.zhihu.com/p/27110726 【 js 基础 】【读书笔记】作用域和闭包https://juejin.im/post/5afb0ae56fb9a07aa2138425 深入理解闭包之前置知识→作用域与词法作用域(一&#…

C# T4模板在项目中的使用

1.什么是t4模版 T4,即4个T开头的英文字母组合:Text Template Transformation Toolkit。 T4(Text Template Transformation Toolkit)是微软官方在VisualStudio 2008中开始使用的代码生成引擎。在 Visual Studio 中,“T4 文本模板”是由一些文…

Docker中安装Jenkins实时发布.net core 项目(一)

Docker中安装Jenkins实时发布.net core 项目安装docker懒人篇手动安装dockerfile安装jenkins常规安装jenkinsjenkins的安装搜索jenkins拉取jenkins容器jenkins的启动jenkins密码其他安装docker 使用curl安装最新版 curl -fsSL https://get.docker.com/ | sh重启Docker systemc…

Docker中安装Jenkins实时发布.net core 项目(二)

Docker中安装Jenkins实时发布.net core 项目防坑点升级dockerjenkins运行运行命令jenkins拉取git并构建项目其他查看发布文件防坑点 升级docker 首先我们要确认我们在liunx安装的不是1.31.1的docker容器不然在后面的运行中会报错 can not open /etc/sysconfig/docker如果你是…

Jenkins构建 netcore5.0 项目时出现NU3028/NU3037错误的解决方案

我在使用Jenkins自动化部署项目的时候,出现了如下的错误 error NU3028: Package System.IO.Compression 4.3.0 from source https://api.nuget.org/v3/index.json: The repository primary signatures timestamp found a chain building issue: UntrustedRoot: self…

2019长安大学ACM校赛网络同步赛 L XOR

题意 求区间内有多少数x满足x^4x^5x0 1≤l≤r≤1018. 题解 根据异或的性质可以推到 x^4x5x -->x^4xx4x 即x和4x每一位都不同&#xff0c;即x和(x<<2)每一位都不同&#xff0c;就是x中每一位都与他前前一位不同。 那么就很简单了&#xff0c;可以很容易写出数位DP状态f…

贝塞尔曲线 总结

Bzier curve(贝塞尔曲线)是应用于二维图形应用程序的数学曲线。 曲线定义&#xff1a;起始点、终止点&#xff08;也称锚点&#xff09;、控制点。通过调整控制点&#xff0c;贝塞尔曲线的形状会发生变化。 1962年&#xff0c;法国数学家Pierre Bzier第一个研究了这种矢量绘制曲…