BackColor、BackStyle、BorderColor、BorderStyle、ForeColor、SpecialEffect 属性示例

下例演示 BorderStyle 和 SpecialEffect 属性,通过这些属性显示每一个可用边框。该例还演示如何用 BackColor、Backstyle、BorderColor 和 ForeColor 属性来控制颜色的设置。

窗体包含:

  • 名为 TextBox1 到 TextBox6 的六个文本框控件。
  • 名为 ToggleButton1 和 ToggleButton2 的两个切换按钮控件。
'建议窗体对象内的代码只编写与本窗体事件有关的代码,不要使用作用于整个工程的变量及过程函数。

Sub UserForm_Initialize()
	'用边框类型或特殊效果以及前景和
	'背景色初始化每个文本框,
	
	'使用边框类型初始化 TextBox1
	UserForm_TextBox1.Text = "BorderStyle-Single"
	UserForm_TextBox1.BorderStyle = 1
	UserForm_TextBox1.BorderColor = RGB(255, 128, 128)   
	'赭色
	UserForm_TextBox1.ForeColor = RGB(255, 255, 0)       
	'黄色
	UserForm_TextBox1.BackColor = RGB(0, 128, 64)        
	'绿色
	
	'使用特殊效果初始化 TextBoxes 2 到 6
	UserForm_TextBox2.Text = "Flat"
	UserForm_TextBox2.SpecialEffect = 0
	UserForm_TextBox2.ForeColor = RGB(64, 0, 0)          
	'棕色
	UserForm_TextBox2.BackColor = RGB(0, 0, 255)         
	'蓝色
	
	'初始化 TextBox2 的背景类型为不透明的。
	UserForm_TextBox2.BackStyle = 1
	
	UserForm_TextBox3.Text = "Etched"
	UserForm_TextBox3.SpecialEffect = 3
	UserForm_TextBox3.ForeColor = RGB(128, 0, 255)       
	'紫色
	UserForm_TextBox3.BackColor = RGB(0, 255, 255)       
	'青色
	
	'为以后使用,定义 BorderColor (当 borderstyle=fmBorderStyleSingle)
	UserForm_TextBox3.BorderColor = RGB(0, 0, 0)         
	'黑色
	
	UserForm_TextBox4.Text = "Bump"
	UserForm_TextBox4.SpecialEffect = 6
	UserForm_TextBox4.ForeColor = RGB(255, 0, 255)       
	'深红色
	UserForm_TextBox4.BackColor = RGB(0, 0, 100)         
	'海蓝色
	
	UserForm_TextBox5.Text = "Raised"
	UserForm_TextBox5.SpecialEffect = 1
	UserForm_TextBox5.ForeColor = RGB(255, 0, 0)        '红色
	UserForm_TextBox5.BackColor = RGB(128, 128, 128)    '灰色
	
	UserForm_TextBox6.Text = "Sunken"
	UserForm_TextBox6.SpecialEffect = fmSpecialEffectSunken
	UserForm_TextBox6.ForeColor = RGB(0, 64, 0)          
	'黄褐色
	UserForm_TextBox6.BackColor = RGB(0, 255, 0)         
	'绿色
	
	UserForm_ToggleButton1.Caption = "Swap styles"
	UserForm_ToggleButton2.Caption = "Transparent/Opaque background"
End Sub
	
Sub UserForm_ToggleButton1_Click()
	
	'在 TextBox1 和 TextBox3 间转换边框
	If UserForm_ToggleButton1.Value = True Then
    	'把 TextBox1 从 BorderStyle 改变到 Etched
    	UserForm_TextBox1.Text = "Etched"
    	UserForm_TextBox1.SpecialEffect = 3
    	
    	'把 TextBox3 从 Etched 改变到 BorderStyle
    	UserForm_TextBox3.Text = "BorderStyle-Single"
    	UserForm_TextBox3.BorderStyle = 1
	Else
    	'把 TextBox1 变回 BorderStyle
    	UserForm_TextBox1.Text = "BorderStyle-Single"
    	UserForm_TextBox1.BorderStyle = 1
    	
    	'把 TextBox3 变回 Etched
    	UserForm_TextBox3.Text = "Etched"
    	UserForm_TextBox3.SpecialEffect = 3
	End If
End Sub

Sub UserForm_ToggleButton2_Click()
	'将背景设置为不透明或透明
	If UserForm_ToggleButton2.Value = True Then
    	'将 TextBox2 变为透明背景
    	UserForm_TextBox2.BackStyle = 0
	Else
    	'将 TextBox2 变为不透明背景
    	UserForm_TextBox2.BackStyle = 1
	End If
End Sub

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94