Formsanwendung über Framework erstellen?

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Thomas95.

    Formsanwendung über Framework erstellen?

    Hey Leute,

    Ich schreibe gerade ein Programm, bei dem ich mir Funktionen anharken kann die ich will und daraus erstellt es mir dann ein neues Programm.
    Sollange ich nur Consolenanwendungen mache funktioniert alles, aber wie kann ich eine Formsanwendung erstellen?

    VB.NET-Quellcode

    1. Private Sub Build(ByVal code As String)
    2. Try
    3. 'Visual Basic Datei (*.vb) erstellen
    4. My.Computer.FileSystem.WriteAllText(TextBox1.Text + "\" + TextBox2.Text + ".vb", code, False)
    5. 'Kompilieren (VB.NET = vbc.exe)
    6. MessageBox.Show(ComboBox1.Text + " /target:winexe """ + TextBox1.Text + "\" + TextBox2.Text + ".vb""")
    7. Try
    8. Shell(ComboBox1.Text + " /target:winexe """ + TextBox1.Text + "\" + TextBox2.Text + ".vb""", AppWinStyle.Hide, True)
    9. Catch ex As Exception
    10. MessageBox.Show(ex.ToString())
    11. End Try
    12. 'Löschen der *.vb Datei
    13. My.Computer.FileSystem.DeleteFile(TextBox1.Text + TextBox2.Text + ".vb")
    14. Catch ex As Exception
    15. MessageBox.Show(ex.ToString())
    16. End Try
    17. End Sub


    TextBox1.text = Der Pfad der Datei
    TextBox2.text = Der Name der Datei
    ComboBox1.text = Der Pfad des Framesworks

    Im Code würde z.B. das drin stehen:

    VB.NET-Quellcode

    1. Module Module1
    2. Sub Main()
    3. My.Computer.FileSystem.DeleteFile("C:\Users\Thomas\Desktop\abc.txt")
    4. End Sub
    5. End Module


    das Funktioniert auch, aber wie kann ich eine Form erstellen? :O

    Danke schon mal :)
    Hi
    schreibe einfach den Code, als würdest du eine Form selber instanzieren (ggf. auch einfach von Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase erben und das so konfigurieren, wie erwartet wird) und per Application.Run(Form) die Nachrichtenschleife für die Form starten.

    Gruß
    ~blaze~
    Meint ihr, dass es in der Form in der code-Variable stehen muss?

    VB.NET-Quellcode

    1. Public Class MyForm
    2. Inherits Form
    3. Public Sub New()
    4. Me.Text = "Hello World!"
    5. End Sub
    6. <STAThread()> _
    7. Public Shared Sub Main()
    8. Dim aform As New MyForm()
    9. Application.Run(aform)
    10. End Sub
    11. End Class
    Quasi, nur nicht in der Form, sondern in einer extra Klasse (z.B. Program). Übrigens startet man Anwendungen per System.Diagnostics.Process.Start und nicht per Shell und es gibt einen VBCodeProvider in Microsoft.VisualBasic, den du ebenfalls verwenden könntest und halt über System.CodeDom kompilieren.

    Gruß
    ~blaze~