Announcement

Collapse
No announcement yet.

TableLayoutPanel Control Added - Zelle prüfen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • TableLayoutPanel Control Added - Zelle prüfen

    Hallo,

    Gibt es eine Möglichkeit beim Event ControlAdded des TableLayoutPanel zu überprüfen, zu welcher Zelle das Steuerelement hinzugefügt wurde? Ich habe zwei Bereiche bzw. Zellen in denen je nach Auswahl des Benutzer UserControls hinzugefügt werden und ich würde gerne überprüfen, zu welcher Zelle das war. Damit könnte ich dann unterscheiden, weil ich einen Hauptbereich und einen Nebenbereich habe. Ich will dadurch einfach bestimmen in welchem Bereich sich die UserControl befindet und dadurch könnte man dann einfacher eine UserControl hinzufügen bzw. entfernen.

    Ich habe dafür in der Form zwei Variablen, denen ich dann die aktive UserControl in dem Bereich zuweise.

    Code:
    private UserControl mainActiveUserControl;
    private UserControl subActiveUserControl;
    Dann kann ich ja nachher, wenn der User etwas anderes machen will, einfach so:

    Code:
    tableLayoutPanel1.Controls.Remove(mainActiveUserControl);
    die aktive UserControl entfernen und die für den Bereich richtige UserControl hinzufügen.

    Code:
    private void tableLayoutPanel1_ControlAdded(object sender, ControlEventArgs e)
    {
        // Hier fehlt noch der Teil, falls es geht
        mainActiveUserControl = (UserControl)e.Control;
        subActiveUserControl = (UserControl)e.Control;
    }
    Kann man also irgendwie bestimmen, in welchem Bereich / Zelle sich die UserControl befindet?

    Ist das übrigens so eine saubere Möglichkeit? Kann man das so ohne bedenke machen?

    Ansonsten würde mir nur noch die Möglichkeit einfallen, eine Methode zu schreiben und dabei entweder für jede UserControl bei dem Load Event der Form eine Instanz zu erzeugen, die dann in der ganzen Form verfügbar ist und mit tableLayoutpanel1.Contains() alle abzufragen oder irgendwie über jede Control zu iterieren aber was man dann machen würde, wüsste ich nicht. Nur die Möglichkeit, die ich oben angegeben habe ist mir klar, bis auf die Stelle, wo man die Zelle bestimmt.

    Eine kleine Nebenfrage:
    Wie sollte man eigentlich Events und Listen nennen? Events werden ja in Camel Case geschrieben und wie sieht es mit Listen aus? Gibt es da Konventionen, auch mit der Benennung beider?
    Zuletzt editiert von Threin; 01.03.2015, 08:15.
Working...
X