Button.Click aus einer anderen Form heraus ändern?

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Hermann.

    Button.Click aus einer anderen Form heraus ändern?

    Hallo liebe Community,

    ich habe ein kleines WebRadio-Tool in VisualStudio 2010 programmiert und möchte nun die Funktion "Eigenen Sender hinzufügen" hinzufügen...

    Das ganz soll über eine neue Form laufen sprich: (Code vereinfacht, nicht original Code!)

    Man hat in Form1 einen Button, der "Eigener Sender(Button6)" heißt, darunter einen Button der "Sender hinzufügen(Button7)" heißt!

    Quellcode

    1. Button7_Click: Form2.Show



    Jetzt öffnet sich die "Sender hinzufügen Form", in der zwei Textboxen und ein Button enthalten sind. Jetzt soll man in Textbox1 die Stream-URL eingeben und in Textbox2 den Namen des Senders...

    Klickt man nun auf den Button "ok" soll "Eigener Sender(Button6)" in den Text aus Textbox2 umbenannt werden, und soll den Click-Code:

    Quellcode

    1. AxWindowsMediaPlayer1.URL: "In Textbox1 eingetragene URL"



    Ich würde es normaler Weise schaffen, wenn es in ein und der selben Form währe, ist es aber nicht... Wie kann ich nun die Änderungen von einer anderen Form heraus machen?


    Ein riesiges Dankeschön im Vorraus!

    Greetz,

    justindufisch
    Willkommen im Forum. :thumbup:

    justindufisch schrieb:

    VB.NET-Quellcode

    1. Button7_Click: Form2.Show
    Wenn Du Daten zwischen Formen austauschen willst, musst Du Instanzen dieser Formenn erstellen.
    Nun musst Du wissen, ob Du einen
    modalen Dialog (das Hauptfenster ist nicht bedienbar, das Programm im Hauptfenster wird angehalten)
    oder einen
    nicht modalen Dialog (das Hauptfenster ist bedienbar, das Programm im Hauptfenster läuft weiter)
    erstellen willst.
    Spoiler anzeigen
    1. Modaler Dialog:

    VB.NET-Quellcode

    1. Using dlg As New Form2
    2. ' Datentrasnsfer zu dlg
    3. dlg.ShowDialog() ' Aufruf modaler Dialog
    4. ' Datentrasnsfer von dlg
    5. End Using ' alles aufräumen

    2. Nicht modaler Dialog

    VB.NET-Quellcode

    1. Private m_dlg As Form2
    2. Private Sub xxx()
    3. If m_dlg Is Nothing OrElse m_dlg.IsDisposed Then
    4. m_dlg = New Form2
    5. End If
    6. If Not m_dlg.Visible Then
    7. 'm_dlg.Show() ' Dialog kann hinter das Hauptfenster geklickt werden
    8. ' oder
    9. m_dlg.Show(Me) ' Dialog kann nicht hinter das Hauptfenster geklickt werden
    10. End If
    11. End Sub
    Im 2. Fall musst Du mit Events arbeiten oder in der Form2 wird der Datentransfer abgewickelt.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    justindufisch schrieb:

    Ich verstehe nicht ganz wo ich das einbauen soll
    Zunächst stelle ich fest, dass Du überhaupt keinen Plan hast. :S
    Mache Dich bitte mit diversen Grundlagen vertraut:
    Instanzen von Klassen
    modalen und nicht modalen Dialogen
    Events
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Wenn ich das jetzt richtig verstehe, musst du entweder die Sachen, die du ändern willst, öffentlich machen (z.B.: den Button (im Designercode)), oder ne öffentliche Methode schreiben, die dann die Sachen ändert, also auf irgendeine Art diese Sachen (den Button-Text und so) öffentlich zugänglich machen.
    Was mir grad noch eingefallen ist: Property geht auch (wahrscheinlich am elegantesten!)

    MfG,
    Hermann