Control - Focus -Laufzeit

  • VB.NET
  • .NET (FX) 4.0

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von razzzer530i.

    Control - Focus -Laufzeit

    Moin,

    Habe mir ein Usercontrol gebastelt, das 2 Checkboxen, 2 Textboxen,1 Timer und 1 Label enthält.
    An sich funktioniert auch alles. Habe eigene Properties geschrieben und verwende diese zur leichten Datenübergabe.

    Jetzt habe ich meine Form1.
    Der User fügt per Button mein Steuerelement hinzu
    Das ganze hab ich einfach mit Controls.Add gemacht.

    Klappt auch super. ich kann es bewegen und im Control selbst alles ändern.

    Jetzt kann ich aber mehrere Controls hinzufügen, die sich automatisch Control1, Control2, Control3 usw. nennen hinzufügen.

    Erreichen möchte ich ganz simpel:

    Wenn ich auf Control1 klicke und dann auf den Button "Start", dass etwas passiert.

    VB.NET-Quellcode

    1. Private Sub BTN_Click("kennt ihr alle"
    2. msgbox(controls.selected.name)


    Ich hoffe das ist zu verstehen und jemand kann mir helfen den Fehler zu finden.

    Muss ich evtl. mein Steuerelement irgendwie mit einer Property bestücken, welche mir diese Eigenschaft erst bietet?
    Wenn ja weiß ich leider nicht wie.

    LG und danke im Voraus!


    //Edit

    Lächerlich aber :

    VB.NET-Quellcode

    1. Textbox1.Text= Me.ActiveControl.Name


    War so leicht, dass ich 3 Stunden probiert habe.
    ~Wir leben zwar alle unter dem gleichen Himmel, aber es haben nicht alle den gleichen Horizont~

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „razzzer530i“ ()

    Also eine Möglichkeit wäre auf jedes Klick-Event deiner Controls zu reagieren, da den Namen des Control weg zu speichern und bei Btn_Click diese Variable auszugeben.
    Jedoch ist das bei einer Anzahl von X Controls schon recht aufwendig.

    Als Frage in den Raum:
    Kann man sowas als extra Funktion schreiben sodass ein Klick-Event für alle (ausgewählten) Controls definiert wird?
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup:
    sollte bestimmt möglich sein aber hab es noch nicht ausprobiert und ehrlich gesagt ist das auch zu problematisch.


    mit

    VB.NET-Quellcode

    1. Textbox1.Text= Me.ActiveControl.Name

    funkioniert das ja soweit.

    Jetzt habe ich auf meiner Form allerdings mehrere Buttons, eine Textbox und die Controls die der User hinzufügt.

    Ich möchte den Bereich, in den Controls hinzugefügt werden können nun in einem Panel begrenzt halten.
    Klappt auch wenn ich die Controls via Me.Panel1.Controls.add("Control") mache.

    Ändere ich den obigen Code jedoch auf

    VB.NET-Quellcode

    1. Textbox1.Text= Me.panel1.ActiveControl.Name

    funktioniert das natürlich nicht, da activecontrol kein Member von Panel1 ist.

    Meine Frage ist also:

    Wie kann ich ActiveControl NUR auf die Controlls innerhalb des Panels anwenden?

    Grüße
    ~Wir leben zwar alle unter dem gleichen Himmel, aber es haben nicht alle den gleichen Horizont~