C# Winform应用程序中UserControl事件/属性/方法/枚举等的操作

C# Winform应用程序中UserControl事件/属性/方法/枚举等的操作,c#,windows,winforms,visual-studio,C#,Windows,Winforms,Visual Studio,我在form1.cs(Winforms应用程序)上有200多个UserControls,并且在form1.cs编码页面中混淆了每个UserControls的事件/方法/属性和枚举 我可以手动订购,如设置注释,如/,并手动提供标识 我想知道有没有一种不同的方法可以通过特定的方法或任何其他方式来处理它们 例如: namespace FinApps { public partial class Form1 : Form { private FinAppsUserControl.ExportRe

我在
form1.cs
(Winforms应用程序)上有200多个UserControls,并且在
form1.cs
编码页面中混淆了每个UserControls的事件/方法/属性和枚举

我可以手动订购,如设置注释,如
/
,并手动提供标识

我想知道有没有一种不同的方法可以通过特定的方法或任何其他方式来处理它们

例如:

namespace FinApps
{
public partial class Form1 : Form
{
    private FinAppsUserControl.ExportReports er;
    private FinAppsUserControl.BankMaster bankmaster;
    private FinAppsUserControl.CompanyMaster companymaster;

    public Form1()
    {
        er = new FinAppsUserControl.ExportReports();
        bankmaster = new FinAppsUserControl.BankMaster();
        companymaster = new FinAppsUserControl.CompanyMaster();

        InitializeComponent();

        this.panel2.Controls.Add(er);
        this.panel2.Controls.Add(bankmaster);
        this.panel2.Controls.Add(companymaster);

      bankmaster.BankMasterExitEvent += new FinAppsUserControl.BankMaster.bankmasterexitevent(bankmaster_BankMasterExitEvent);
        er.ExportReportsKeyDownEvent += new FinAppsUserControl.ExportReports.exportreportskeydownevent(er_ExportReportsKeyDownEvent);
        companymaster.CloseEvent += new FinAppsUserControl.CompanyMaster.closeevent(companymaster_CloseEvent);
     }


//below is mix event/properties/method not sorted by specific UserControl Order..

    private void er_ExportReportsKeyDownEvent(ref Message msg, Keys keydata)
    {
        if (keydata == Keys.Escape) 
        {
        // specific tasks          
        }
    }
 private void bankmaster_BankMasterExitEvent()
 {
      //specific tasks
 }

 private void companymaster_CloseEvent()
 {
        //specific tasks
 }
但我想对特定UserControl的事件/方法/属性进行排序,请参阅下面我手动调整的特定UserControl虎钳

    //ExportReportUserControl
    private void er_ExportReportsKeyDownEvent(ref Message msg, Keys keydata)
    {
        if (keydata == Keys.Escape) 
        {
        // specific tasks          
        }
    }

   //BankMasterUserControl
 private void bankmaster_BankMasterExitEvent()
 {
      //specific tasks
 }

  //CompanyMasterUserControl

 private void companymaster_CloseEvent()
 {
        //specific tasks
 }
上面的示例仅与三个UserControl相关,可能有200多个UserControl,每个UserControl可能包含更多的事件/方法/属性和Form1.cs编码页上的枚举。我只想按照特定的UserControl identity对它们进行排序,我已经在上面通过注释
/
手动声明了这些用户控件identity

因此,我的想法是在form1.cs中声明一个特定的方法,它与特定的UserControls相关,这些UserControls单独包含它们的事件/方法/属性/枚举,因此我们可以很容易地解决上述混淆

可能吗?。或者其他更好的方法?

您可以使用#region-#endregion标记,例如:

#region MyUserControl1 things

//Put your MyUserControl1 methods, event handlers etc. here

#endregion

#region MyUserContro2 things

//Put your MyUserContro2 methods, event handlers etc. here

#endregion

现在还不清楚你想要完成什么,你能更具体一点吗?@NikolaD Nick,你想知道关于我的问题的什么我可以提供。更具体一点你想要什么?有没有想过你可能在一个表单上有太多的控件?您可能希望在包含较小控件的larget控件中将控件集分组在一起。这也有助于组织事件处理代码。@JohnSaunders,你有什么建议的例子吗?。如果是,请提供。这将有助于我们新加入的社区成员。