我试图在WinForms中创建一个不可见的可单击按钮,但我不知道如何做到这一点。我看了this的帖子,但没有多大帮助,因为Color.Transparent
不支持按钮的边框颜色。现在我有以下代码:
StartGameButton.FlatAppearance.MouseDownBackColor = Color.Transparent;
StartGameButton.FlatAppearance.MouseOverBackColor = Color.Transparent;
按钮FlatStyle
通过设计器中的属性选项卡设置为Flat
,而BackColor
设置为Color.Transparent
-现在我唯一能看到的是按钮的边框,它是黑色的。
我尝试了我链接的StackOverflow帖子的所有答案,但没有一个有帮助。他们都编译了,但没有隐藏边框,因为他们要么忘记添加任何东西来隐藏边框,要么它没有编译,说Color.Transparent
不支持边框颜色,或者他们会尝试使用BackColor
,出于某种原因编译,但仍然没有隐藏边框。我也试过StartGameButton.Visible = false;
,但后来由于某种原因它使按钮无法点击。
2条答案
按热度按时间flseospp1#
这段代码创建了一个不可见但仍然可以点击的按钮。按钮的BackColor设置为Color.Transparent以使其不可见,FlatStyle属性设置为FlatStyle.Flat以移除3D边框效果。将FlatAppearance.BorderSize设置为0以移除边框。FlatAppearance.MouseOverBackColor和FlatAppearance.MouseDownBackColor属性也设置为Color.Transparent,以使按钮在鼠标悬停和单击时保持不可见。
Click事件由InvisibleButton_Click方法处理,该方法在单击按钮时显示一个消息框。然后将该按钮添加到窗体的控件中。
ar5n3qh52#
您需要使按钮的背景颜色与当前面板或窗体的背景颜色相同,并且可以使用下面的代码防止按钮被注意到。
example