我找不到任何关于如何绘制几个点(用于分割分隔符滑块)的信息,如第一张图片所示。
我正在画这个
现在,我的自定义控件代码正在绘制一条带阴影的直线
public class CustomPaintSplitter : SplitContainer {
...
protected override void OnPaint(PaintEventArgs pe)
{
Graphics g = pe.Graphics;
Rectangle r = ClientRectangle;
g.FillRectangle(new SolidBrush(BackColor), r);
if (Orientation == Orientation.Horizontal)
{
SplitterWidth = 9;
int recWidth = SplitterRectangle.Width / 3;
Rectangle split_rect = new(SplitterRectangle.X + recWidth, SplitterRectangle.Y, SplitterRectangle.Width - recWidth, SplitterRectangle.Height);
int x = split_rect.X;
int y = split_rect.Y + 3;
g.DrawLine(new Pen(SystemColors.ControlLightLight), x, y, x, y + 2);
g.DrawLine(new Pen(SystemColors.ControlLightLight), x, y, x + recWidth, y);
g.DrawLine(new Pen(SystemColors.ControlDark), x, y + 2, x + recWidth, y + 2);
g.DrawLine(new Pen(SystemColors.ControlDark), x + recWidth, y, x + recWidth, y + 2);
}
// Calling the base class OnPaint
base.OnPaint(pe);
}
}
这怎么能实现呢?我在互联网上尝试了不同的点[]方法,但没有一个接近我试图实现的目标。
- 即使是指定绘制的“点”数的参数也是一个优点。*
任何帮助都是感激不尽的!
1条答案
按热度按时间nfg76nw01#
我只是把它画在面板上,但你可以用同样的方式使用它。