.NET自定义表单。在具有表单边框的另一个类中继承

时间:2015-06-01 11:31:21

标签: .net winforms visual-studio

抱歉标题不好,很难描述我的需要。

我创建了一个WinForm,将BorderStyle设置为none,然后在OnPaint()上绘制整个表单。

我这样做是为了在我的应用程序中使用自定义UI多次使用此自定义表单。

这很好。

之后我创建了一个新的WinForm,但是我没有继承System.Windows.Foms.Fom,而是继承了我的自定义类。

这很有效。

不,我需要做什么:

在Visual Studio IDE中,当我创建基于自定义表单的表单,并且我从工具箱中拖动组件时,组件与表单的边框重叠。

例如,如果我添加一个MenuStrip,它会被放置在我的表单的边框之上,而不是像表单是System.Windows.Forms.Form时那样。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

我不确定我是否完全理解这个问题,但您可能会尝试创建UserControl而不是自定义表单。您可以像设计一样设计用户控件,然后将其作为控件放在其他窗体中。

答案 1 :(得分:0)

尝试在设计器中设置表单的Padding属性,相当于:

this.Padding = new Padding(borderWidth);

它不会阻止控件进入您的客户边框空间,但是设置了其停靠属性的控件(如MenuStrip控件)将遵循该填充空间。