LukOnline Geschrieben 13. Juli 2010 Geschrieben 13. Juli 2010 Hey! Ich habe mir eine Klasse von ListBox abgeleitet und von dieser Klasse ein Objekt im MainForm erstellt. public class ToolTipListBox : ListBox Diese Klasse zeigt beim überfahren eines Items in der Listbox einen ToolTip. Jetzt will ich aber, dass der ToolTip eine Variable vom Typ <List> (also nur einen Listpunkt) aus dem MainForm anzeigt. Habe eine GetMethode erstellt mit der ich aus dem MainForm die <List> Variable zurückgebe. Nur wie kann ich jetzt in der Klasse ToolTipListBox auf die Get-Methode zugreifen? Notfalls kann ich die Variable auch als public deklarieren... Vielen Dank schonmal für eure Hilfe! LG Luk Zitieren
lbm1305 Geschrieben 14. Juli 2010 Geschrieben 14. Juli 2010 Nur wie kann ich jetzt in der Klasse ToolTipListBox auf die Get-Methode zugreifen? Notfalls kann ich die Variable auch als public deklarieren... LG Luk Hmm...recht wenig Code oder nicht ordentlich beschrieben. Wenn ich es aber richtig verstanden habe, soll die Liste aus der MainForm in ToolTipListBox-Klasse übergeben werden?! Übergib die Liste per Constructor an die ToolTipListbox-Klasse. Zitieren
LukOnline Geschrieben 14. Juli 2010 Autor Geschrieben 14. Juli 2010 Hallo! Ich habe es hinbekommen! Sorry wenn es schwer zu verstehen war... Also nochmal die Erklärung. Ich habe eine Klasse ListBoxToolTip angeleitet von ListBox. public class ToolTipListBox : ListBox Der einzige unterschied ist, dass meine Klasse beim überfahren mit der Maus einen String anzeigt. Der String, den ich anzeigen will, ist jedoch in einem Objekt, das im FormMain erstellt wurde. Ich habe von der Klasse ListBoxToolTip keinen Zugriff auf die FormMain-Klasse! D.h. ich muss den String an die ToolTipListBox-Klasse übergeben. Meine Frage war also wie ich das anstelle. Inzwischen habe ich die Antwort gefunden... Form1.Designer.cs private void InitializeComponent() { // ... viele Formularelemente this.listBox_EMailAdressen = new ToolTipListBox(this); // ... viele Formularelemente } Klasse ToolTipistBox public class ToolTipListBox : ListBox { private FormMain Uebergabe; public ToolTipListBox(FormMain MainForm) { Uebergabe = MainForm; // Zugriff auf Public-Attribute des Mainforms nun in dieser Klasse möglich mit: // Uebergabe.Attributname; } } Bei Rückfragen einfach melden ;-) Zitieren
lbm1305 Geschrieben 14. Juli 2010 Geschrieben 14. Juli 2010 Du übergibst die ganze MainForm? Warum nicht nur die Collection? Oder brauchst Du alle enthaltenen Elemente? Zitieren
LukOnline Geschrieben 14. Juli 2010 Autor Geschrieben 14. Juli 2010 Du übergibst die ganze MainForm? Warum nicht nur die Collection? Oder brauchst Du alle enthaltenen Elemente? Naja, alle Elemente brauche ich nicht... Nur ein paar, jedoch muss ich auch auf eine Methode des MainForms zugreifen. Alles zu übergeben ist warscheinlich ziemlich Systemlastig oder? Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.