Thema Datum  Von Nutzer Rating
Antwort
Rot Mit dynamisch erstelltem Code UserControls auf der Form hinzufügen
07.05.2013 22:21:08 Stefan
NotSolved
09.05.2013 20:15:55 Gast95157
NotSolved
07.10.2015 21:37:19 Gast20746
NotSolved

Ansicht des Beitrags:
Von:
Stefan
Datum:
07.05.2013 22:21:08
Views:
3287
Rating: Antwort:
  Ja
Thema:
Mit dynamisch erstelltem Code UserControls auf der Form hinzufügen

Hallo liebe Community,

ich bin eigentlich nicht der Typ der gleich bei der Suche auf gibt, jedoch stehe ich jetz vor einem Problem das schier unlösbar scheint.

Und zwar:

ich habe folgenden Code genutzt um dynamisch Code meinem Programm zufügen zu können und habe das Problem, dass ich aber egal wie ich es mache, keine GUI Elemente hizufügen kann. Hat da jemand irgendwelche tipps? Danke schon mal im voraus. :-)

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Reflection;
using System.CodeDom.Compiler;

namespace testcodebox
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            CodeDomProvider provider = CodeDomProvider.CreateProvider("CSharp");
            CompilerParameters parameters = new CompilerParameters();
            parameters.GenerateInMemory = true;
            parameters.ReferencedAssemblies.Add("System.dll");
            parameters.ReferencedAssemblies.Add("System.Windows.Forms.dll");

            StringBuilder sb = new StringBuilder();
            sb.AppendLine(@"using System;");
            sb.AppendLine(@"using System.Text;");
            sb.AppendLine(@"using System.Windows.Forms;");
            sb.AppendLine(@"public class Test{");
            sb.AppendLine(@"public void Funktion(){");
            sb.AppendLine(richTextBox1.Text);
            sb.AppendLine(@"}}");

            CompilerResults result = provider.CompileAssemblyFromSource(parameters, sb.ToString());
            listBox1.DataSource = result.Errors;
            listBox1.DisplayMember = "ErrorText";
            if (!result.Errors.HasErrors)
            {
                object instance = result.CompiledAssembly.CreateInstance("Instance");
                MethodInfo info = instance.GetType().GetMethod("Funktion");
                info.Invoke(instance, null);
            }
        }
    }
}


asd

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst genau und ausführlich
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
  • Bitte markieren Sie Ihre Anfrage als erledigt wenn Ihnen geholfen wurde
Thema: Name: Email:

 
 

Thema Datum  Von Nutzer Rating
Antwort
Rot Mit dynamisch erstelltem Code UserControls auf der Form hinzufügen
07.05.2013 22:21:08 Stefan
NotSolved
09.05.2013 20:15:55 Gast95157
NotSolved
07.10.2015 21:37:19 Gast20746
NotSolved