以文本方式查看主题

-  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
--  
可以的,可以参考下面的例子。


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:背景渐变例子.table


--  作者:mosquito1003
--  发布时间:2013/8/16 9:13:00
--  
果然是高手啊!
--  作者:mosquito1003
--  发布时间:2013/8/16 9:34:00
--  
本人初学者!对很多东西不理解!我再问下,我打开看了你的例子,非常不错,还有2点问题。
一、我把代码放到了窗口的AfterLoad去执行,无效!
二、点完按钮变化颜色后,这个控件的背景颜色不是永久的,而是暂时的,只要我拉大窗口,做出来的背景就没有了!
请问下,该怎么处理这些问题!
我是想一加载窗口后,那些控件的背景颜色就都做好了,不管是窗口的变化大小,还是其他的操作都不会是颜色变没有了!帮忙在写点代码,万分的感谢!

--  作者:有点甜
--  发布时间:2013/8/16 23:29:00
--  
 代码代码写在全局代码中,也可以写在内部函数里(利于调试)

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:背景渐变例子.table



--  作者: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
--  
是不是这样:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:背景渐变例子1.table




--  作者:don
--  发布时间:2014/5/29 9:07:00
--  
顶!例子的是绘制四边形,我试了改为扇形(g.FillPie),没的有成功.

请教大甜甜,如何绘制扇形颜色渐变?多谢!