-1

我有一个winforms列表

mainWinform
winform1
winform2
winform3 ...

winform1winform2并且winform3正在继承mainWinform设计

我设置了一些winform像:

winform1至:

maximizeBox = false
FormBorderStyle to Sizable 

winform2至:

maximizeBox = true
FormBorderStyle to fixed

由于我继承自有mainWinform没有一种方法可以将每个设置winformmaximizeBox = trueFormBorderStyle to Sizable通过设置mainWinform甚至winform1将其设置为maximizeBox = false FormBorderStyle to Sizable

4

2 回答 2

1

为了防止继承的表单覆盖父设置,您可以尝试OnStyleChanged在父表单类中覆盖:

protected override void OnStyleChanged(EventArgs e)
{
    if (this.MaximizeBox!=true) this.MaximizeBox = true;
    base.OnStyleChanged(e);
}
于 2013-07-03T04:54:03.973 回答
0

您必须在继承form的 s 的构造函数中设置这些属性。例如:

public winform
{
    //in this way you can inherit parent form properties and set them to child form
    this.MaximizeBox = base.MaximizeBox;
    this.FormBorderStyle = base.FormBorderStyle;
    //or if you want to set it something else, then do like this
    this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Sizable;
}

您可以根据需要更改这些值。但是您必须将代码放入构造函数中。

于 2013-07-03T04:22:32.877 回答