WinForms中如何实现按钮点击高亮且切换时取消高亮?
问题:WinForms按钮点击高亮,切换时取消原按钮高亮
我使用C# WinForms开发了一款应用,其中包含多个按钮。希望实现点击按钮时添加边框高亮,以此标识当前所处的"标签页"。
我尝试了以下代码:
// BUTTONS // private void dashboard_btn_Click(object sender, EventArgs e) { // Load Form OpenChildForm(new FormDashboard()); dashboard_btn.FlatAppearance.BorderColor = Color.Red; dashboard_btn.FlatAppearance.BorderSize = 1; }
但这种方式效果不佳,因为点击其他按钮后,之前按钮的边框仍会保留。
请问如何实现点击按钮时添加边框高亮,切换到其他按钮时取消原按钮高亮的功能?感谢您的反馈!
编辑1:
我采纳了Jimi的建议,使用Leave事件将按钮边框大小改回0,但不确定如何全局订阅该事件以应用到所有按钮。
现在我的代码如下:
// BUTTONS // private void dashboard_btn_Click(object sender, EventArgs e) { // Load Form OpenChildForm(new FormDashboard()); // Button Highlight dashboard_btn.FlatAppearance.BorderColor = Color.Red; dashboard_btn.FlatAppearance.BorderSize = 1; }
// BUTTON REMOVE HIGHLIGHT // private void dashboard_btn_Leave(object sender, EventArgs e) { dashboard_btn.FlatAppearance.BorderSize = 0; }
编辑2:
我最终使用了Jimi的示例代码,问题得以解决 :)
内容的提问来源于stack exchange,提问作者Stefan Meeuwessen
相关产品推荐
相关产品推荐

