system.drawing.color为引用系统的颜色.如果你的电脑VB安装了帮助,你可以在帮助里找找看.VB与VB.NET不是完全相同,有些本质相同但代码却要换一下的.
成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站建设、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的双桥网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
基于具有 能处理 256色或 256色以上的视频适配器和显示驱动程序的系统, vb 可支持 256 种颜色。VB 中的颜色设置 界面上的彩色图形能够产生更强的视觉效果,因而越来越受到用户的重视。 在 Visual Basic 中,窗体、控件、图形以及文字信息都可以用不同的颜色显示。 对于所有的颜色属性和图形方法,每种颜色都由一个 Long 整数表示。对于多媒体应用程序, 或对于那些需要显示接近相片质量图 像的应用程序来说,具有同时显示 256 色的功能是特别有价值的。 第一种: 打开画图板,颜色里面调出你要的颜色以后,记下红绿蓝的数值 然后vb中用xxx.forecolor(或者backcolor之类)=rgb(红,绿,蓝) 这种办法好处就是很简单 不好之处就是不能在设计的时候更改 第二种: 打开画图板,调好颜色以后 记下红绿蓝 打开计算器 分别翻译成16进制 然后vb中用xxx.forecolor = H蓝绿红 例如蓝色255 16进制就是FF 红色0 16进制是0 绿色128 16进制是80 然后颜色就是HFF8000 (0要补齐) 第三种: 打开专业的制图软件(photoshop/fireworks) 直接获取16进制颜色 比如说#AABBCC 然后对应的VB种颜色就是HCCBBAA
这是MSDN关于颜色对话框中AnyColor属性的说明:
你觉得效果一样,是因为你的桌面颜色达到真彩色或16位色,如果你的系统颜色只有258色甚至更少,效果就明显不同了! 当系统颜色只有256色时,要显示更丰富的色彩,其它的颜色就需要系统利用相邻的像素用几种颜色“拼”出无法显示的色彩,当然无论如何,看上去总会有些失真。
这篇文章介绍了VB.NET设置屏幕分辨率、颜色位数、刷新率
实例代码,有需要的朋友可以参考一下
复制代码
代码如下:
Private
Declare
Function
GetDeviceCaps
Lib
"gdi32"
(ByVal
hdc
As
Long,
ByVal
nIndex
As
Long)
As
Long
Private
Declare
Function
ChangeDisplaySettings
Lib
"user32"
Alias
"ChangeDisplaySettingsA"
(lpDevMode
As
Any,
ByVal
dwflags
As
Long)
As
Long
Private
Const
CCDEVICENAME
As
Long
=
32
Private
Const
CCFORMNAME
As
Long
=
32
Private
Const
DM_BITSPERPEL
As
Long
=
H40000
Private
Const
DM_PELSWIDTH
As
Long
=
H80000
Private
Const
DM_PELSHEIGHT
As
Long
=
H100000
Private
Const
DM_DISPLAYFLAGS
As
Long
=
H200000
Private
Const
DM_DISPLAYFREQUENCY
=
H400000
Private
Const
CDS_FORCE
As
Long
=
H80000000
Private
Const
BITSPIXEL
As
Long
=
12
Private
Const
HORZRES
As
Long
=
8
Private
Const
VERTRES
As
Long
=
10
Private
Const
VREFRESH
=
116
Private
Type
DEVMODE
dmDeviceName
As
String
*
CCDEVICENAME
dmSpecVersion
As
Integer
dmDriverVersion
As
Integer
dmSize
As
Integer
dmDriverExtra
As
Integer
dmFields
As
Long
dmOrientation
As
Integer
dmPaperSize
As
Integer
dmPaperLength
As
Integer
dmPaperWidth
As
Integer
dmScale
As
Integer
dmCopies
As
Integer
dmDefaultSource
As
Integer
dmPrintQuality
As
Integer
dmColor
As
Integer
dmDuplex
As
Integer
dmYResolution
As
Integer
dmTTOption
As
Integer
dmCollate
As
Integer
dmFormName
As
String
*
CCFORMNAME
dmUnusedPadding
As
Integer
dmBitsPerPel
As
Integer
dmPelsWidth
As
Long
dmPelsHeight
As
Long
dmDisplayFlags
As
Long
dmDisplayFrequency
As
Long
End
Type
Private
Sub
cmdChangeDesktopMode_Click()
Dim
DM
As
DEVMODE
With
DM
.dmPelsWidth
=
CInt(txtNewWidth.Text)
.dmPelsHeight
=
CInt(txtNewHeight.Text)
.dmBitsPerPel
=
CInt(txtNewColor.Text)
.dmDisplayFrequency
=
CInt(txtNewFreq.Text)
.dmFields
=
DM_PELSWIDTH
Or
DM_PELSHEIGHT
Or
DM_BITSPERPEL
Or
DM_DISPLAYFREQUENCY
.dmSize
=
LenB(DM)
End
With
If
ChangeDisplaySettings(DM,
CDS_FORCE)
Then
MsgBox
"错误!不支持此模式!"
End
If
End
Sub
Private
Sub
Form_Load()
txtOldWidth.Text
=
GetDeviceCaps(Me.hdc,
HORZRES)
txtOldHeight.Text
=
GetDeviceCaps(Me.hdc,
VERTRES)
txtOldColor.Text
=
GetDeviceCaps(Me.hdc,
BITSPIXEL)
txtOldFreq.Text
=
GetDeviceCaps(Me.hdc,
VREFRESH)
End
Sub
这东西改不了,要想改的话要在系统显示设置里修改主题。
不过如果想做的漂亮些,可以去网上找代码把整个窗体改成蓝色(随便一种颜色)然后用代码把窗体蓝色部分扣去,可以PS一个窗体图片,插到窗体上,这样这个窗体蓝色部分都被扣去了(图片里的蓝色无法扣去)只能看见一张图片,可以在上面加控件。
你好,我不知道你是用什么方法保存的,不过.net里的color有一个方法是Color.FromArgb 你可以这么做,dim
c
as
color=richtextbox1.ForeColor dim
colorstring
as
string=c.ToArgb().ToString
colorstring就是颜色的值(字符串)再把colorstring保存到ini文件加载颜色的时候,从ini里读取colorstring 具体是:dim
RtextColor
as
color=Color.FromArgb(cint(colorstring))richtextbox1.ForeColor
=RtextColor