You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 12:05:22