UserControl Action in Form1 definieren?

  • VB.NET
  • .NET (FX) 3.0–3.5

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    UserControl Action in Form1 definieren?

    Hi Leute,
    ich habe:
    • 1 UserControl (mit 2 Buttons)
    • 2 Formen (mit einem Panel)
    Auf dem UserControl sollen die Buttons keine Aktionen haben. Auf Form1 wird der UserControl eingebettet (1x) und dann soll beim klicken auf einen beliebigen Button die selbe Nachricht erscheinen (Messagebox + Alle Buttons wie ansprechen?).
    Auf Form2 wird der UserControl eingebettet (1x) und dann soll beim klicken auf einen beliebigen Button die Form sich schließen.

    Also: 1 UserControl auf 2 Formen mit jeweils unterschiedlichen Aktionen, wobei alle Buttons auf einer Form die selben Funktionen haben sollen.
    Wie geht das?

    Danke, Hilfe0987
    :thumbup:

    Hilfe0987 schrieb:

    Wie geht das?
    Da Dein UserControl offensichtlich nichts eigenes macht, lass es weg und zieh die Buttons jeweils auf die Form und lass sie tun, was sie tun sollen.
    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!
    sauber wäre, dein ucl würde ein Event versenden, wenn der button geklickst wird.
    Aber wie soll das Event heissen? bitte nicht Button1Clicked

    Oder anders gefragt: Erzähl doch mal über die Bedeutung des ucls, und im speziellen, was es bedeutet, wenn der Button da drauf geklickst wird.
    Startet das den CountDown zur Selbstzerstörung?
    Dann könnte das Event CountDownStarted heissen.

    Nicht ganz ernst gemeint, aber zur Verdeutlichung der Denkweise... - also was bedeutet dein ucl, und der Button da drauf?
    Die Bedeutung ist doch eigentlich egal...?
    O.k., ich habe mehrere ucls mit mehreren Buttons, alle jeweils anders angeordnet etc. (also die Buttons :D)
    jetzt habe ich eine Form1 + Form2.
    Form1: bekommt je nach if statement ein ucl zugewiesen, auf dem ucl sind alle buttons mit der selben funktion, welche aber von der form1 kommt.
    Form2: bekommt je nach if statement ein ucl zugewiesen, auf dem ucl sind alle buttons mit der selben funktion, welche aber von der form2 kommt.

    Je nach ucl sind die Buttons anders angeordnet, aber die functions bleiben gleich (+ unterschiedlich je nach form).
    Du verstehst?
    :thumbup:
    nein, da ergibt vieles keinen Sinn.

    ein form bekommt je nach if statement ein ucl zugewiesen? hmm, eine sehr anfällige Konstruktion.

    auf dem ucl sind buttons mit derselben funktion? also die Funktion eines Buttons ist immer dieselbe - man soll draufklicken. Und bei dir kommt die Funktion von der form1?? Wie kann das Draufklicken-Sollen eines Buttons von form1 kommen?

    und je nach ucl bleiben die functions gleich und unterschiedlich - nein - ich verstehe nicht sorry.

    Also ich kann mir was zusammenreimen, aber höchst unsicher, obs das ist, was du meinst. Und was ich mir zusammenreime wäre auch noch recht anspruchsvoll zu lösen, man müsste mit Interfaces arbeiten - nee - mit funktionen von form1 komme ich garnet klar.
    Also:

    VB.NET-Quellcode

    1. if a = 1 then
    2. 'ucl1 hinzufügen
    3. elseif a = 2 then
    4. 'ucl2 hinzufügen
    5. '...


    Die Buttons von der ucl sollen jetzt in der Form1 die Funktion zugewiesen bekommen, und zwar, egal welchen Button man drückt, man bekommt immer eine Messagebox.
    Und unterschiedliche ucls haben unterschiedlich angeordnete Buttons.
    Sinn? Egal! Bitte, wie geht das?

    P.S.: Ich versteh es zwar nicht, aber es geht angeblich mit stackoverflow.com/questions/14…ontrols-control-in-a-form
    :thumbup:

    Hilfe0987 schrieb:

    Die Buttons von der ucl sollen jetzt in der Form1 die Funktion zugewiesen bekommen
    ist ein Autwand, der mir bei Deiner Problembeschreibung einfach zu hoch ist.
    Du müsstest den Click jedes Buttons per Event durchreichen, damit er da ankommt, wo er hin soll.
    Das bringt einfach nix, solang Deine UserConrols lediglich Ansammlungen von Controls sind.
    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!

    Hilfe0987 schrieb:

    Ihr versteht nicht
    Da gibt es zwei Möglichkeiten:
    Wir (im konkreten Fall @ErfinderDesRades und ich) sind zu dumm, Dein wohl beschriebenes Anliegen zu verstehen
    oder
    Du hast Dein Anliegen nicht so beschrieben, dass wir es verstehen konnten. ;(
    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!