如何在我的winform上的几个控件周围放置矩形框? (我不想要分组的事情。)
答案 0 :(得分:2)
如果您不想使用GroupBox,可以将控件放在Panel中,并将其BorderStyle属性设置为BorderStyle.FixedSingle
或{{1} }。
答案 1 :(得分:2)
GroupBox
control有什么问题?将一组相关控件组合在一起完全它的用途。您的用户已经在他们使用的每个其他应用程序以及整个Windows shell中看到过它。他们更有可能认识到它比你自己定制的矩形意味着什么。偏离标准平台惯例很少是一个好主意。我强烈建议使用GroupBox
控件,即使它不是您想到的完美外观。
话虽如此,当然可以在表单上的一组控件周围绘制自己的框。为此,您需要覆盖表单的OnPaint
方法并编写一些代码来绘制矩形。这样做可以让您完全控制盒子的颜色以及线条粗细。
protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
{
// Call the base class
base.OnPaint(e);
// Create your drawing pen
using (Pen p = new Pen(SystemColors.WindowText, 2.0))
{
// Calculate the position and dimensions of the box
Rectangle rect = new Rectangle(10, 10, 30, 30);
// Draw the rectangle
e.Graphics.DrawRectangle(p, rect);
}
}
您唯一需要添加的是计算矩形尺寸的代码,相对于您希望它包围的控件。使用每个控件的Location
property来获取此信息。
答案 2 :(得分:0)
http://msdn.microsoft.com/en-us/library/cyh3c8h8.aspx
Pen pen = new Pen(Color.FromArgb(255, 0, 0, 0));
e.Graphics.DrawLine(pen, 20, 10, 300, 100);
您可以通过这种方式在窗体上绘制线条。这将挂钩到Paint方法,其中e是PaintEventArgs
答案 3 :(得分:0)
您可以将控件放入面板并将BorderStyle
从None
设置为FixedSingle
- 这是最简单的方式