簡體   English   中英

是否有C#或任何其他方式調用可重用代碼的用戶控件或主控件

[英]Is there any user control or master control in C# or any other way to call reusable code

我是C#編程的新手,您可能會覺得它非常簡單...我正在使用帶有添加,更新,刪除,取消和關閉按鈕的菜單欄(工具欄)...在添加按鈕中我擁有...。

private void btn_Add_Click(object sender, EventArgs e)
    {
NewSavebtn();
}

public void NewSavebtn()
        {
           if (btn_Add.Text == "&New")
            {
                btn_Add.Text = "&Save";
                btn_Edit.Enabled = false;
                btn_Delete.Enabled = false;
                txtDetailName.Enabled = true;
                TxtHeadName.Enabled = true;


                   UnLock();
                }



else if (btn_Add.Text == "&Save")
            {

            save_data();
            Lock(); 
            btn_Add.Text = "&Add";
            btn_Edit.Enabled = true;
            btn_Delete.Enabled = true;
            ClearAll();
            txtDetailName.Enabled = false;
         }
        else
            MessageBox.Show("cant save data");
    }


    #region Clear Lock Unlock
    public void ClearAll()
    {

        foreach (Control ctl in this.Controls)
        {
            if (ctl is TextBox || ctl is ComboBox)
            {
                ctl.Text = "";
            }
        }

    }

    public void Lock()
    {

        foreach (Control ctl in this.Controls)
        {
            if (ctl is TextBox || ctl is ComboBox)
            {
                ctl.Enabled=false ;
            }
        }

    }
    public void UnLock()
    {

        foreach (Control ctl in this.Controls)
        {
            if (ctl is TextBox || ctl is ComboBox)
            {
                ctl.Enabled=true ;
            }
        }

    }
    #endregion

我想以幾乎200多種形式添加相同的代碼。 誰能告訴我我應該怎么做。 是否在c#中有任何用戶控件或主控件(如asp.net),以便可以保留通用代碼並在必要時調用...因為如果我將NewSavebtn()和其他方法放在不同的類中,請說class1並嘗試調用來自form1,就像...

class1 c1 =new class1(this);
c1.NewSavebtn(this);

它不起作用。。。

如果這是用於Windows窗體應用程序,則可以創建用戶控件 ,如果要開發WPF應用程序,則可能會看到以下教程: 如何創建WPF用戶控件並在WPF應用程序(C#)中使用它。

您可以在Windows窗體中創建用戶控件以使用一百個窗體。 但是,我認為您的代碼在維護方面不容易更改。 您應該使用委托來處理事件。 為了將來進行改進,您可以使用委托輕松定義結果。在ui線程中執行委托(使用消息泵)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM