WinForms中跨3个窗体的可视继承

qnyhuwrf  于 2022-11-30  发布在  其他
关注(0)|答案(1)|浏览(119)

是否可以跨3个表单启用可视继承?
在应用程序中,我看到了继承,但在设计器中,我只看到了来自第一级的继承,而不是来自第二级的继承。
我的第一个级别如下所示:面板上的3个按钮

public partial class BaseForm : Form {
    public BaseForm() {
        InitializeComponent();
    }

    private DBConnection _dbCon = null;

    protected DBConnection DbCon {
        get {
            if (_dbCon == null) {
                _dbCon = DBConnection.Instance(ConfigurationManager.ConnectionStrings["MySqlEdiops"].ConnectionString);
            }
            return _dbCon;
        }
    }

    protected virtual void OnFormLoad(object sender, EventArgs e) {
    }

    #region Button Events

    #region Button Save
    protected void SetBtnSaveEnabled(bool enabled) {
        btn_Save.Enabled = enabled;
    }

    protected virtual void OnBtnSaveClick(object sender, EventArgs e) {
    }
    #endregion Button Save

    #region Button Add
    protected void SetBtnAddEnabled(bool enabled) {
        btn_Add.Enabled = enabled;
    }

    protected virtual void OnBtnAddClick(object sender, EventArgs e) {
    }
    #endregion Button Add

    #region Button Delete
    protected void SetBtnDeleteEnabled(bool enabled) {
        btn_Delete.Enabled = enabled;
    }

    protected virtual void OnBtnDeleteClick(object sender, EventArgs e) {
    }
    #endregion Button Delete

    #endregion Button Events
}

我的第二个层次看起来像这样:“按钮”表单级别为一,新面板包含标签和文本框。

public partial class BaseMessageForm : BaseForm {

    public BaseMessageForm() : base() { }
    public BaseMessageForm(int previousRecordID) : base() {
        InitializeComponent();
    }
}

而且知道我的第三个层次:这里是第一层的按钮,但不是第二层的文本框。

public partial class VororderForm : Partnerverbindungen.Forms.BaseMessageForm {
    public VororderForm() {
        InitializeComponent();
    }
}

有人知道为什么会这样吗?
提前感谢。

64jmpszr

64jmpszr1#

这个问题是我自己发现的,和@dr.null回答的是一样的,谢谢大家的帮助。

相关问题