C# WinForms - 未选择表单时自定义按钮不需要的边框

标签 c# winforms button border

我在使用 c# win 表单创建的自定义按钮时遇到问题。选择表单时按钮显示正常,但一旦我从表单上单击,按钮上就会出现边框。发生这种情况的一个很好的例子是当单击桌面但表单仍处于最大化状态以便您可以看到其内容时。问题的图像如下所示:

Button border problem

这不会发生在所有按钮上,只有当按钮之前被点击时才会发生(一次只出现在一个按钮上)。这让我相信这与按钮焦点提示有关,但这些提示被设置为 false。边框设置为 0,我也将 tabstop 设置为 false。

有什么建议吗?

最佳答案

当您处理自定义按钮时,您应该设置:

button.TabStop = false;
button.FlatStyle = FlatStyle.Flat;
button.FlatAppearance.BorderSize = 0;

然后由于 ButtonBase 不支持 Color.Transparent 上的边框颜色,您可以通过设置 Argb 颜色来解决这个问题:

button.FlatAppearance.BorderColor = Color.FromArgb(0, 255, 255, 255); //transparent

关于C# WinForms - 未选择表单时自定义按钮不需要的边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9399215/

相关文章:

c# - RSS Feeds 1 秒或更少更新

c# - DataGridView 中的 TimeSpan 选择器允许超过 24 小时

c# - WinForms 将非透明字符串绘制成透明窗体

c# - TreeView 的决策树生成

ios - 从可变数组或字典中设置按钮标题和操作?

c# - 等待 ExecuteAsync() 结果

c# - 在 C# 中连接到数据库

c# - 寻找良好的动态成像解决方案

android - Android 对话框中的 OnclickListener

android - 上标任何字符符号代码?