C# 如何为没有标题栏的窗体创建自定义边框?

C# 如何为没有标题栏的窗体创建自定义边框?,c#,forms,border,C#,Forms,Border,我有一个没有标题栏的表单,但我希望我的表单仍然有边框,如下所示: 目前,我使用了一个文本框,然后将其发送回,我的表单有1px边框。我构建了一个很小的应用程序,所以我不想写太长的代码来画边界。有什么简单的方法可以做到这一点:我希望我的表单有简单的黑色边框,但没有标题栏??? 语言:C#您可以重写表单.Paint事件或重写OnPaint方法。网络上有很多例子,例如。如果您通过将ControlBox设置为false并将FormBorderStyle设置为None来删除标题栏 然后,您可以订阅Form

我有一个没有标题栏的表单,但我希望我的表单仍然有边框,如下所示:

目前,我使用了一个文本框,然后将其发送回,我的表单有1px边框。我构建了一个很小的应用程序,所以我不想写太长的代码来画边界。有什么简单的方法可以做到这一点:我希望我的表单有简单的黑色边框,但没有标题栏???


语言:C#

您可以重写
表单.Paint
事件或重写
OnPaint
方法。网络上有很多例子,例如。

如果您通过将ControlBox设置为false并将FormBorderStyle设置为None来删除标题栏

然后,您可以订阅Form.Paint事件并使用类似的处理程序:

private void Form1_Paint(object sender, PaintEventArgs e)
{
   e.Graphics.DrawRectangle(new Pen(Color.Black, 3),
                            this.DisplayRectangle);                                     
}