以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]渐变色的问题! (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=38982) |
||||
-- 作者:mosquito1003 -- 发布时间:2013/8/12 18:06:00 -- [求助]渐变色的问题! 请教大虾们,我想让窗口背景是渐变色,以及控件的背景是渐变色,大家有什么可行的方法。条件是不可以用背景加载事先处理好的图片哦,必须用程序代码去控制这些渐变色哦!有点难度哦!最好设计成2个函数,一个窗口背景使用,另一个是控件使用。如果能设计多种颜色渐变就更好了,不过这个难度很大。 |
||||
-- 作者:有点甜 -- 发布时间:2013/8/12 19:27:00 -- 可以的,可以参考下面的例子。
|
||||
-- 作者:mosquito1003 -- 发布时间:2013/8/16 9:13:00 -- 果然是高手啊! |
||||
-- 作者:mosquito1003 -- 发布时间:2013/8/16 9:34:00 -- 本人初学者!对很多东西不理解!我再问下,我打开看了你的例子,非常不错,还有2点问题。 一、我把代码放到了窗口的AfterLoad去执行,无效! 二、点完按钮变化颜色后,这个控件的背景颜色不是永久的,而是暂时的,只要我拉大窗口,做出来的背景就没有了! 请问下,该怎么处理这些问题! 我是想一加载窗口后,那些控件的背景颜色就都做好了,不管是窗口的变化大小,还是其他的操作都不会是颜色变没有了!帮忙在写点代码,万分的感谢!
|
||||
-- 作者:有点甜 -- 发布时间:2013/8/16 23:29:00 -- 代码代码写在全局代码中,也可以写在内部函数里(利于调试) |
||||
-- 作者:mosquito1003 -- 发布时间:2013/8/22 21:55:00 -- 我做了个内部函数如下 \'\'\' Dim Str() As String = Args(0).Split("|") Dim p As System.Windows.Forms.Panel = Forms(Str(0)).controls(Str(1)).baseControl Dim brush As new LinearGradientBrush(p.ClientRectangle, Color.Blue, Color.White , LinearGradientMode.Vertical) Dim g As Graphics = p.CreateGraphics() g.FillRectangle(brush, p.ClientRectangle) 然后在 窗口2 中AfterLoad调用如下 Functions.Execute("渐变色","窗口2|Panel1") 可是还是无效!请问为什么?难道一定要用全局代码! |
||||
-- 作者:有点甜 -- 发布时间:2013/8/22 22:00:00 -- 在全局代码那里定义了一个paint事件的函数,这个是重画窗口的事件。 在全局代码里写代码,类似下面才行。需要在窗口里绑定paint事件。 public sub form_paint(xxxx as xxx, xxx as xxx)
functions.execute("xxx", "xxxx", "xxxx") end sub |
||||
-- 作者:花开的声音 -- 发布时间:2014/5/29 7:45:00 -- 深奥,先收藏。 |
||||
-- 作者:blackzhu -- 发布时间:2014/5/29 7:57:00 -- 是不是这样: |
||||
-- 作者:don -- 发布时间:2014/5/29 9:07:00 -- 顶!例子的是绘制四边形,我试了改为扇形(g.FillPie),没的有成功. 请教大甜甜,如何绘制扇形颜色渐变?多谢!
|