RHa*_*uda 15 graphics winforms
我想在WinForms应用程序中创建一个简单的3D线,以改善我的表单布局的视觉排列.此行非常类似于"关于Windows"对话框中的行(可以在Windows资源管理器中打开 - >"帮助" - >"关于Windows").
这里有一个例子.最后一行(3D)是我想要的,而不是第一行.
如何在C#或Visual Basic(.NET)中完成?
谢谢
如果您使用SysInternals的ZoomIt实用程序,您可以看到这只是两行.白色上方的深灰色.使用Graphics.DrawLine()绘制线条非常简单,只需要确保选择适合表单BackColor的深色.如果用户选择了另一个主题,那并不总是战舰灰色.这使得GroupBox技巧陷入瘫痪.
此示例代码是可维护的:
protected override void OnPaint(PaintEventArgs e) {
Color back = this.BackColor;
Color dark = Color.FromArgb(back.R >> 1, back.G >> 1, back.B >> 1);
int y = button1.Bottom + 20;
using (var pen = new Pen(dark)) {
e.Graphics.DrawLine(pen, 30, y, this.ClientSize.Width - 30, y);
}
e.Graphics.DrawLine(Pens.White, 30, y+1, this.ClientSize.Width - 30, y+1);
}
Run Code Online (Sandbox Code Playgroud)
请注意,在此代码中使用button1,以确保在正确的高度绘制线条,即使重新缩放表单也是如此.选择您自己的控件作为该行的参考.