Autor Beitrag
mephomat
Hält's aus hier
Beiträge: 3

Win7, Windows 8, OsX 10.8
C#
BeitragVerfasst: Do 18.10.12 16:06 
Hallo Leute!

Bin neu hier, habt bitte Mitleid, wenn ich Fragen falsch stelle. :wink:

Ich habe ein TableLayoutPanel in das zur Laufzeit UserControls erstellt werden.
Nun würde ich gerne die CellPositions jedes erstellten Controls ermitteln. Mit einzelnen funktioniert das schon ganz gut.


ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
//Aktives Control ermitteln
        private void tblLayoutMain_Enter(object sender, EventArgs e)
        {
            Point p = tblLayoutMain.PointToClient(Control.MousePosition);
            _activeControl = tblLayoutMain.GetChildAtPoint(p);
        }

private void btnTake_Click(object sender, EventArgs e)
        {
            TableLayoutPanelCellPosition position1 = new TableLayoutPanelCellPosition();
            position1 = tblLayoutMain.GetCellPosition(_activeControl);
            string test = position1.ToString();
            
            MessageBox.Show(test);
        }


Doch wie bekomme ich alle Positionen, also auch die von den "inaktiven"?

Vielen Dank im Voraus
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Do 18.10.12 16:15 
Die Position aller Controls? Hört sich nach Wissen an das keiner braucht. Wofür brauchst du das?

TableLayoutPanel hat (wie alle Controls) eine Controls Property an der alle ChildControls dranhängen. Also einfach über TableLayoutPanel.Controls iterieren und für jedes Control die Position abfragen.

Es geht dir doch um alle Controls oder und nicht nur um die UserControls? Aus der Frage wird es nicht ganz klar und dein _activeControl Code würde halt auch ein Control auf dem UserControl finden und nicht zwingend das UserControl.
mephomat Threadstarter
Hält's aus hier
Beiträge: 3

Win7, Windows 8, OsX 10.8
C#
BeitragVerfasst: Do 18.10.12 17:03 
Erstmal danke für die schnelle Antwort.

Das Ziel ist aus der Anordnung im TLP ein Formular zu erstellen um Daten in eine Tabelle einer DB zu schreiben.
Also, dass das Formular erstellt werden kann. Aber bei der Benutzung nicht mehr veränderbar ist. Versteht man das so?

Es geht nur um die UserControls. Es sind nur Zwei. Eins mit Label+TextBox und eins mit Label+NummericUpDown. Der Inhalt der Label unterscheidet sich.
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Do 18.10.12 17:16 
Zitat:
Versteht man das so?


;)

Warum ein anderes Formular erstellen nur um Daten in eine DB zu bekommen?
mephomat Threadstarter
Hält's aus hier
Beiträge: 3

Win7, Windows 8, OsX 10.8
C#
BeitragVerfasst: Do 18.10.12 17:25 
Zitat:
;)

Warum ein anderes Formular erstellen nur um Daten in eine DB zu bekommen?



Hehe, glaub ich.

Naja, nicht ich schreibe die Daten in die DB sondern jmd anderes. Und noch jmd anderes legt das Layout für´s Formular fest. Bin ein frischer Azubi und das ist halt ne Aufgabe... Besser als Kaffeekochen. Dein Tip aus deinem ersten Post hat mich bereits weiter gebracht. Danke