【发布时间】:2020-05-18 16:12:32
【问题描述】:
我有内部带有黑色边框的 UserControl。我想移除边框或更改其颜色。
.
找到解决方案,但它没有删除边框:
public FolderView() {
InitializeComponent();
base.BorderStyle = BorderStyle.None;
this.BorderStyle = BorderStyle.None;
}
private BorderStyle border;
public new BorderStyle BorderStyle {
get { return border; }
set {
border = value;
Invalidate();
}
}
控制来自这个project。
更新:
我正在尝试绘制新边界。在TreeListView 类中OnPaint 方法的末尾添加了这些代码行:
Rectangle rect = base.ClientRectangle;
ControlPaint.DrawBorder(e.Graphics, rect, Color.DarkBlue, ButtonBorderStyle.Solid);
但是,垂直滚动条画在我的边框上。如何解决这个问题?还在FolderViewTree 类中尝试了相同的代码,但滚动条将边框推向左侧(我希望在边框内保持原来的滚动条)。
【问题讨论】:
-
您可以在其设计器中删除用户控件的边框。这不是你想要的吗?您链接的项目显示带有子控件的用户控件。也删除设计器中子控件的边框。如果您想更改颜色,您可以围绕其边界绘制一个矩形。或者在可能的情况下绘制背景。或者使用基础容器(嵌套两个控件)
-
边框是在用户控件上还是在用户控件内部的控件上?
-
this answer of mine 有什么想法吗?
-
或者this question of mine(连同答案)。
-
那是 TreeView 的边框,不是 UserControl 的边框。只需通过设计器将其设置为无。