[C#] Dynamisches Tab und Listbox

02/21/2014 17:16 Ludder231#1
Hi,

ich will mir mehrere dynamsiches TabControls mit TabPages und Listboxen erstellen.

Das mache ich mit:

Wie kann ich jetzt auf die jeweilige Listbox mit den Namen der Variable strListBoxName zugreifen ,damit ich speziell in der Listbox ein item eintragen kann?



MfG Ludder231
02/21/2014 19:02 Easy-Emu#2
Ich denke du wirst entweder die listboxen in ein Dictionary<string, ListBox> speichern muessen und darueber als Referenz zugreifen oder du musst durch TabControl.Controls iterieren per for / foreach und darueber dann die verschiedenen Constrols abrufen und auf namen ueberpruefen.
02/23/2014 15:57 Ludder231#3
Danke hat geklappt>

PHP Code:
Dictionary<stringListBoxmyAddedControls = new Dictionary<stringListBox>();

newTab = new TabPage(strTitle);
               
tcTab2.TabPages.Add(newTab);

               
ListBox lbListBox = new ListBox();
               
myAddedControls.Add(strListBoxNamelbListBox);
               
    
               
lbListBox.Dock DockStyle.Fill;               
               
lbListBox.Name strListBoxName;
               
newTab.Controls.Add(lbListBox);


 
myAddedControls[strTab].BeginInvoke(((Action)(() => 
               {

                   
myAddedControls[strTab].Items.Add("[" DateTime.Now.Hour ":" DateTime.Now.Minute "] " strActionText);
                   

               }))); 
02/25/2014 19:48 x]vIrus[x#4
ich empfehle dir WPF zu verwenden, habe dir dazu ein kleines Demo-Projekt geschrieben welches dynamisch tabs erzeugen/löschen kann und die listbox einträge hinzufügen/löschen kann.
Falls du WPF noch nicht kannst ist dies eine gute gelegenheit das zu lernen!

hier: [Only registered and activated users can see links. Click Here To Register...]
Screenshot:
[Only registered and activated users can see links. Click Here To Register...]

mfg
02/25/2014 23:22 Easy-Emu#5
Es hat zwar hier nichts mit WPF zutun, weil es dort genauso gemacht wird mittels einer Collectiona, aber ja WPF ist schon zu empfehlen.

Schlecht ist allerdings, dass du hier einfach mal nen 100% fertiges bsp. fuer sowas postest, weil dadurch am wenigsten gelernt wird.
02/26/2014 05:21 #SoNiice#6
Quote:
Originally Posted by Easy-Emu View Post
Es hat zwar hier nichts mit WPF zutun, weil es dort genauso gemacht wird mittels einer Collectiona, aber ja WPF ist schon zu empfehlen.

Schlecht ist allerdings, dass du hier einfach mal nen 100% fertiges bsp. fuer sowas postest, weil dadurch am wenigsten gelernt wird.
Das stimmt nicht ganz, an laufendem Code kann man sich bestens orientieren, vorausgesetzt natürlich der Wille zum Lernen ist gegeben.
02/26/2014 19:56 x]vIrus[x#7
Quote:
Originally Posted by Easy-Emu View Post
Es hat zwar hier nichts mit WPF zutun, weil es dort genauso gemacht wird mittels einer Collectiona, aber ja WPF ist schon zu empfehlen.

Schlecht ist allerdings, dass du hier einfach mal nen 100% fertiges bsp. fuer sowas postest, weil dadurch am wenigsten gelernt wird.
Nein, warum? weil man hier direkt mit Daten arbeitet, und nicht mit controls, data-binding und itemtemplates sei dank.
Deine Kritik an meinem fertigen Beispiel verstehe ich nicht, hätte ich links zu 10 verschiedene Tutorials posten sollen in denen alle Themen durchgekaut werden?
IMO macht es mehr sinn Beispielcode zu sehen und wenn man an dem Code was nicht versteht, danach zu googeln oder nachhaken...
02/28/2014 08:17 Popicker#8
Hi,

du musst dir keine extra referenz auf dein dynamisch erzeugtes control halten. Du kannst die controls per name auch mithilfe der Find Methode bekommen. Die Frage was du mit den listboxen machen möchtest ist auch offen. Es ist auch fraglich ob du invoken musst. Controls sollten immer auf dem GUI thread erstellt werden ( ausnahmen bestätigen die Regel ).

LG