C# winform自定义界面效果如果实现

如何在winform中实现如QQ登录的效果,最大化、最小化我能去掉,但是,我想自己设计删除按钮,标题栏太难看了,如何自己设计或者像QQ一样,他们是将标题栏删除了还是重绘的啊?我想自由设计自己的界面外观,包括控件的外观,有哪些方法可以实现,分别介绍下以及其利与弊。假如我以后想设计自己个性化的按钮,我的意思是奇形怪状的,不是设置背景图片的那种。比如说,我用photoshop设计了一个按钮,这个按钮不是我们看到的button按钮的形状,而是可以放在界面的边角之上,用什么东西能够把这个自己设计的按钮放在界面上呢?综上所述,我的问题就一个,有哪些方法可以实现对winform界面和控件外观及形状自由设计,即如何让外观得到在常用软件中的表现效果,如QQ、以及各种播放器中的部分控件的效果

直接用一个位图当按钮其实都行,你只要位图是不规则的,然后位图背景透明就行。。。如果非要用按钮,你把按钮的背景前景都去了,然后image属性连接一个不规则位图(还是一个状况,背景透明就行),但按钮区域还是方的,按键还会相应,不过你可以通过查看此位置的位图像素(背景通常像素为0x000000),判断是否在图形里边,如果在外边后边的语句不执行就行了。。。
窗口切割本来就很麻烦,所以你完全可以通过另一种方式来完成,其实很多网游的登录界面所谓的不规则窗口都是一个方形,只是外边是透明的,你用鼠标点仍然可以选中窗口,人家专业的懒得弄,你何必那,否则你去activeX工程里自己用GDI画一个想要的按钮控件也行。。。。追问

标题栏呢?如果自己做“X”按钮,用什么好呢?label?还是其他什么的?如何连接位图?

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-25
把窗体的边框设置成None,再通过图片布局就能实现自定义的效果的。追问

比如这个窗体,他上面有突出的地方,而在winform中是如何实行的,如何在标题栏(最大化、最小化栏)中添加如图所示的按钮或其他控件?如何将winform中最大化最小化背景色设置成如图所示的效果,以及标题栏的不规则效果。

追答

用png设置窗体背景图片就可以的。 最大化最小化关闭按钮这里都不是系统自带的那几个  是窗体 边框设置成None后自己手动添加的按钮   设置对应的大小 位置和背景图片就能有这样的效果。


我这个界面就是用这种方式做的   这个是全屏的  没有上边的最大化最小化栏

这个就有上边的标题栏  都是背景图片的效果  但功能和系统自带的最大最小关闭按钮相同。

追问

上边的“X”是怎么搞上去的?还有就是我要在标题栏添加自定义的按钮又怎么弄,比如我在标题栏搞一个设置按钮什么的。
还有就是,你的这些按钮什么的,都是规则图形啊。

追答

那个X就是按钮呀 只是用了自己的图片做的。 你看我第一张的最左上角的那个按钮就是不规则的呀。

追问

你是直接将默认的标题栏去掉,然后自己添加按钮实现的吗》?

追答

是的

追问

再问个问题,我点击按钮,如何做出有声音的效果

追答

那个就跟界面没什么关系了 在按钮的响应里边调用播放器播放对应的声音文件就可以。

本回答被提问者采纳
第2个回答  2013-04-13
设置背景图片来填充的话,如果界面上图片较多,会影响窗体的响应和程序的反应的速度。其实所有的控件你都可以通过重绘改变它的外观、形状等属性,但这不是一个简单的工作,也不是那么容易就能做得既好看又好用,更不要说形成一种统一的或是个人的风格。还有一种选择是使用第三方控件,有专门针对界面外观和效果的,希望对你有帮助,有疑问请追问或是Hi追问

我记得,我看到有人这么说,就是用pictrue控件来做,这个能做得好吗?重绘需要哪些知识?

追答

用Picture来做没必要,反正都是用图片了,你还不如直接用按钮呢。你下面那张图上其实大部分都是图片,上面的按钮就是添加了图片的Flat样式按钮。
至于重绘,你随便百度一下“重绘标题栏”,“按钮的重绘”什么的,都能找到示例的。

第3个回答  2013-04-14
用WPF吧,可以做出QQ、360、office那些很炫的窗体,还是C#编程
相似回答