• 啥都不说了,不枉熬油点灯了


     1private void AddCode(Form form)
     2{
     3   IDesignerHost host = null;
     4   host = (IDesignerHost)form.Site.GetService(typeof(IDesignerHost));
     5
     6   //Add method "Form1_Load" on Form1
     7   //---------------------------------------------------------------------------
     8   CodeMemberMethod member = new CodeMemberMethod();
     9   member.Name = "Form1_Load";
    10   member.Parameters.Add(new CodeParameterDeclarationExpression("System.Object""sender"));
    11   member.Parameters.Add(new CodeParameterDeclarationExpression("System.EventArgs""e"));
    12   CodeSnippetExpression sn;
    13   sn = new CodeSnippetExpression("MessageBox.Show(\"Hello world\")");
    14   member.Statements.Add(sn);
    15   member.Attributes = MemberAttributes.Private;
    16   CodeTypeDeclaration typedecl = (CodeTypeDeclaration)form.Site.GetService(typeof(CodeTypeDeclaration));
    17   typedecl.Members.Add(member);
    18   //---------------------------------------------------------------------------
    19
    20
    21   //This code will add the following line to the "InitializeMethod" method
    22   // this.Load += new System.EventHandler(this.Form1_Load);
    23   //---------------------------------------------------------------------------
    24   member = new CodeMemberMethod();
    25   foreach (CodeTypeMember typememb in typedecl.Members)
    26   {
    27       if (typememb.Name == "InitializeComponent")
    28       { member = (CodeMemberMethod)typememb; }
    29   }

    30   CodeDelegateCreateExpression createDelegate1;
    31   createDelegate1 = new CodeDelegateCreateExpression(new CodeTypeReference("System.EventHandler"), new CodeThisReferenceExpression(), "Form1_Load");
    32   CodeAttachEventStatement attach = new CodeAttachEventStatement(new CodeThisReferenceExpression(), "Load", createDelegate1);
    33   member.Statements.Add(attach);
    34   typedecl.Members.Add(member);
    35   //---------------------------------------------------------------------------
    36
    37
    38   //Add and remove a label because otherwise the code to add the method seems to stay "inactive,
    39   //while in this way it works
    40   //---------------------------------------------------------------------------
    41   Label lbl = (Label)host.CreateComponent(typeof(Label));
    42   host.DestroyComponent(lbl);
    43   //---------------------------------------------------------------------------
    44}
  • 相关阅读:
    pandas:由列层次化索引延伸的一些思考
    机器学习中的异常检测手段
    GBDT+LR算法解析及Python实现
    模型性能提升操作
    /usr/bin/python: can't decompress data; zlib not available 的异常处理
    FM算法解析及Python实现
    vue项目中的iview如何验证for循环的输入框、日期选择框,及表单回填验证不通过问题
    JavaScript的数组方法(array)
    Js中toFixed()方法保留小数不精准的问题
    vscode中iview的</Col>标签报错问题
  • 原文地址:https://www.cnblogs.com/think8848/p/1222186.html
Copyright © 2020-2023  润新知