c#界面怎么美化

ilovevista 2012-03-16 05:07:31
想做成如下效果:
界面的背景色是渐变的 而不是固定某种颜色的 比如从上到下是从浅蓝变到蓝

占用别人的时间不太道德 只求一种解决思路就满足啦~~
...全文
875 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
dylike 2012-03-20
  • 打赏
  • 举报
回复
如果你不想让你的界面反应缓慢的话,就用onpaint吧。当然,我想你的内存大到足够放得下你的背景大小的图片。
crackdung 2012-03-19
  • 打赏
  • 举报
回复
Jxb_Sir 2012-03-19
  • 打赏
  • 举报
回复
图片,dock属性
莫忘初心svip 2012-03-19
  • 打赏
  • 举报
回复
c# 仿Foxmail换肤功能源码 http://download.csdn.net/detail/tebiefu/4145731
crackdung 2012-03-19
  • 打赏
  • 举报
回复
chyude 2012-03-18
  • 打赏
  • 举报
回复
估计还得用图片自己 慢慢填充了 设计了……
crackdung 2012-03-18
  • 打赏
  • 举报
回复
你要浪費很多內存

[Quote=引用 29 楼 logga1 的回复:]

还是习惯以图片为背景
[/Quote]
logga1 2012-03-18
  • 打赏
  • 举报
回复
还是习惯以图片为背景
krenyelang 2012-03-18
  • 打赏
  • 举报
回复
上面的一些朋友的看法很赞同,比如你可以使用POINT进行操作,以及使用皮肤空间等!
这个有段时间没有搞.NET了!
kobewade5 2012-03-18
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 dingxiang506 的回复:]
引用 6 楼 ilovevista 的回复:

引用 3 楼 dingxiang506 的回复:

很简单的,我给你一个提示,如果不明白可以问我:
在窗体point事件中进行绘图:实现渐变的色彩,有一个非常有用的类:TextTrueBrush类

怎么问你?。。




private void Form1_Paint(object sender, PaintEvent……
[/Quote]
找个图片填充啊
zhang308337299 2012-03-18
  • 打赏
  • 举报
回复
用皮肤,去网上下载,很简单的。就是增加了个三方控件,里面选皮肤就好了
kankankankan2222 2012-03-17
  • 打赏
  • 举报
回复
LinearGradientBrush line = new LinearGradientBrush(new Point(0,0),new Point(300,300), Color.Green,Color.Red);
Graphics gra = e.Graphics;
youzelin 2012-03-17
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 dingxiang506 的回复:]
private void Form1_Paint(object sender, PaintEventArgs e)
{
//这个类是创建线性渐变颜色,具体怎么用,你看看他的构造函数就明白了
//用这个类需要添加命名空间:using System.Drawing.Drawing2D;
LinearGradientBrush line = new LinearGradientBrush(new Point(0,0),new Point(300,300), Color.Green,Color.Red);
Graphics gra = e.Graphics;

//我在这里画了一个圆,然后用刚才创建的那个线性渐变的对象来填充他。
gra.FillEllipse(line,new Rectangle(new Point(0,0),new Size(300,300)));
}
[/Quote]

个人认为画背景最好不要放在 Paint 事件里面去做,放在提前触发的 OnPaintBackgroud 里面去做。LinearGradientBrush 需要 Dispose。
dingxiang506 2012-03-17
  • 打赏
  • 举报
回复
上面的代码你可以复制直接用,只不过,如果你想要填充整个窗体,就要用一个矩形来填充了,把矩形的大小设置为窗体的大小,然后就OK了
dingxiang506 2012-03-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ilovevista 的回复:]

引用 3 楼 dingxiang506 的回复:

很简单的,我给你一个提示,如果不明白可以问我:
在窗体point事件中进行绘图:实现渐变的色彩,有一个非常有用的类:TextTrueBrush类

怎么问你?。。
[/Quote]



private void Form1_Paint(object sender, PaintEventArgs e)
{
//这个类是创建线性渐变颜色,具体怎么用,你看看他的构造函数就明白了
//用这个类需要添加命名空间:using System.Drawing.Drawing2D;
LinearGradientBrush line = new LinearGradientBrush(new Point(0,0),new Point(300,300), Color.Green,Color.Red);
Graphics gra = e.Graphics;

//我在这里画了一个圆,然后用刚才创建的那个线性渐变的对象来填充他。
gra.FillEllipse(line,new Rectangle(new Point(0,0),new Size(300,300)));
}


另外还有一个思路,就是用一个渐变的图片来填充,这个时候你可以用texttruebrush类
rekym 2012-03-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ilovevista 的回复:]

引用 1 楼 zhaoxuhk 的回复:

很简单,自己画一张渐变的图片,设置为背景图片就OK了啊

可变大小的窗体啊。。动态的。。
[/Quote]

就用漂亮的背景图片,,用皮肤非常影响性能...机器差的绘制很卡...

图片的采用的容器设成自适应大小...


Csharp_琪 2012-03-17
  • 打赏
  • 举报
回复
要皮肤不,我这里有60种,留个邮箱,给你发过去
cdglynn 2012-03-17
  • 打赏
  • 举报
回复
见11楼
cnwin 2012-03-17
  • 打赏
  • 举报
回复
代码实现是可以的,如果嫌麻烦就弄张背景图。
BG 2012-03-17
  • 打赏
  • 举报
回复
Winform的界面美化真是蛋疼,可能的话还是用WPF做吧。
加载更多回复(16)

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧