使用 ToggleButton 的 false .Value 在单击时移除顶部的灰色
Using ToggleButton's false .Value to remove the grey color on top when it is clicked
我试图让 ToggleButton
看起来总是黑色的,但是当点击时,顶部总是出现这个灰色遮罩(可能是为了“点击”效果):
我发现使用 ToggleButton
的 false
.Value
可以删除它,但我现在的问题是我正在创建的用户表单在关闭后再次出现。有没有办法解决这个问题?
当您单击按钮时,这是我的子程序:
Private Sub ToggleButton1_Click()
ToggleButton1.Value = False
ToggleButton1.Caption = "Afficher l'interface"
ToggleButton1.ForeColor = RGB(255, 255, 255)
ToggleButton1.BackColor = RGB(0, 0, 0)
UF_Interface.Show 'Userform I want to show when you click the button
End Sub
谢谢
如果我可以建议,如果你想使用 ToggleButton,
也许最好做两个条件(如果为真那么什么,如果为假那么什么),
如下图:
所以在上图中,如果为真则打开另一个 UF - 如果为假则关闭那个 UF。
以下是 ToggleButton 所在的 UF 中的代码:
Private Sub UserForm_Initialize()
With ToggleButton1
.Caption = "OPEN UF_Interface"
.BackColor = vbYellow
End With
End Sub
Private Sub ToggleButton1_Click()
With ToggleButton1
If .Value = True Then
.Caption = "CLOSE UF_Interface"
.BackColor = vbGreen
UF_Interface.Show vbModeless
Else
.Caption = "OPEN UF_Interface"
.BackColor = vbYellow
Unload UF_Interface
End If
End With
End Sub
两种用户表单(UF_Interface 和带有切换按钮的用户表单)都必须显示为 vbModeless
状态。所以你需要在常规模块中创建另一个子模块,如下所示:
Sub OpenFormWithToggleButton()
FormWithToggleButton.Show vbModeless
End Sub
在 @karma 的帮助下,我以这种方式修改了我的代码(因为我无法更改颜色“正常”Button
,尽管我想要它的工作方式):
Private Sub ToggleButton1_Click()
With ToggleButton1
If .Value = True Then
.Caption = "Afficher l'interface"
.BackColor = vbBlack
.Value = False
UF_Interface.Show 'Userform I wanted to show
End If
End With
End Sub
我试图让 ToggleButton
看起来总是黑色的,但是当点击时,顶部总是出现这个灰色遮罩(可能是为了“点击”效果):
我发现使用 ToggleButton
的 false
.Value
可以删除它,但我现在的问题是我正在创建的用户表单在关闭后再次出现。有没有办法解决这个问题?
当您单击按钮时,这是我的子程序:
Private Sub ToggleButton1_Click()
ToggleButton1.Value = False
ToggleButton1.Caption = "Afficher l'interface"
ToggleButton1.ForeColor = RGB(255, 255, 255)
ToggleButton1.BackColor = RGB(0, 0, 0)
UF_Interface.Show 'Userform I want to show when you click the button
End Sub
谢谢
如果我可以建议,如果你想使用 ToggleButton,
也许最好做两个条件(如果为真那么什么,如果为假那么什么),
如下图:
所以在上图中,如果为真则打开另一个 UF - 如果为假则关闭那个 UF。
以下是 ToggleButton 所在的 UF 中的代码:
Private Sub UserForm_Initialize()
With ToggleButton1
.Caption = "OPEN UF_Interface"
.BackColor = vbYellow
End With
End Sub
Private Sub ToggleButton1_Click()
With ToggleButton1
If .Value = True Then
.Caption = "CLOSE UF_Interface"
.BackColor = vbGreen
UF_Interface.Show vbModeless
Else
.Caption = "OPEN UF_Interface"
.BackColor = vbYellow
Unload UF_Interface
End If
End With
End Sub
两种用户表单(UF_Interface 和带有切换按钮的用户表单)都必须显示为 vbModeless
状态。所以你需要在常规模块中创建另一个子模块,如下所示:
Sub OpenFormWithToggleButton()
FormWithToggleButton.Show vbModeless
End Sub
在 @karma 的帮助下,我以这种方式修改了我的代码(因为我无法更改颜色“正常”Button
,尽管我想要它的工作方式):
Private Sub ToggleButton1_Click()
With ToggleButton1
If .Value = True Then
.Caption = "Afficher l'interface"
.BackColor = vbBlack
.Value = False
UF_Interface.Show 'Userform I wanted to show
End If
End With
End Sub