tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
214
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    MusiumInCapitiss Tutorials.de Gastzugang
    Hi
    Ich versuche gerade eine Klasse(myClass) zu schreiben, mit der ich eine Formklasse bearbeiten kann.
    myClass soll gewisse Forms(textbox,buttons & co) sichtbar/ unsichtbar machen und verschieben können,
    dazu möchte ich über ein Prpperty Elemente von meiner Formklassen an meine myClass weitergeben.
    Dies habe ich bis jetzt mit einem Control versucht, dass klapt aber leider nur teilweise, da die Forms, welche sich in einem Control befinden nun nicht mehr sichtbar sind.
    Hier mein Code:

    public partial class TestForm : Form
    {
    private Expander myClass= new myClass();

    public TestForm()
    {
    InitializeComponent();

    Control x = new Control();
    x.Controls.Add(textBoxTest);
    x.Controls.Add(labelTest);
    x.Controls.Add(buttonTest);

    Control y = new Control();
    y.Controls.Add(richTextBoxTest);

    myClass.Control1 = x;
    myClass.Control2 = y;

    }
    }
    // textBoxTest, labelTest, buttonTest sind via Designer erstellt

    Nun meine Frage…wie kann ich die Forms wieder sichtbar machen oder, anderst übergeben, so das ich sie nicht in ein control stecken muss?

    Gruss

    MusiumInCapitiss
     

  2. #2
    Avatar von Spyke
    Spyke Spyke ist offline Capoeirista
    Registriert seit
    Oct 2002
    Beiträge
    931
    Code csharp:
    1
    2
    
    Control x = new Control();
    x.Controls.Add(textBoxTest);
    hängt in der Luft, x und y wurden keinem Formular zugewiesen.

    Warum das überhaupt?
    Damit änderst du den Parent der Controls (textBoxTest etc.) und diese sind dann nicht mehr dem Formular zugeordnet.
     
    www.iv-interactive.de - Projektewebsite
    WikiParser - aktuelles Projekt

  3. #3
    MusiumInCapitiss Tutorials.de Gastzugang
    hm..Ich hatte die Controls mal meinem Form zugewiesen
    this.Controls.Add(x);

    aber damit waren die forms in x immer noch nicht sichtbar

    "Warum das überhaupt?
    Damit änderst du den Parent der Controls (textBoxTest etc.) und diese sind dann nicht mehr dem Formular zugeordnet. "

    Mein Ziel ist es nicht die Parent der Controls (textBoxTest etc.) zu ändern sondern diese an eine 2. Klasse weiter u geben, gedacht war das in fomr eines Controls...

    Jetzt is nur die Frage, wie kann ich die (textBoxTest etc.) sichtbar machen, oder wie kann ich sie anderst übergeben?

    mfg.
     

  4. #4
    Avatar von Spyke
    Spyke Spyke ist offline Capoeirista
    Registriert seit
    Oct 2002
    Beiträge
    931
    1. Wenn du deine Controls an ein anderes Controls übergibst ist automatisch dieses neue Control der Container der die Controls hält.
    Das du deine Controls nicht siehst könnte daran liegen das deine Controls im nicht sichtbaren Bereich positioniert sind, sprich das neue Control ist z.B. zu klein.
    Da du aber Control verwendest und nicht ein ContainerControl (z.B. Panel) bin ich mir jetzt nicht mal sicher ob du überhaupt deine Controls sehen könntest.

    2.1. In deiner Klasse könntest du eine eigene Liste halten, List<Control>.
    Das ist eine einfache generische Liste die den Parent nicht ändert.

    2.2. Oder du verwendest ein Dictionary, Dictionary<string, Control>.
    In diesem Fall wäre der Key ein string, welches deinen Controlnamen hält und das Value das Control.
    So könntest du direkt mit dem Controlnamen arbeiten und müsstest nicht ständig in der Liste suchen.
    z.B.: meinListControl["textBoxtest"].Visible=false;
     
    www.iv-interactive.de - Projektewebsite
    WikiParser - aktuelles Projekt

Ähnliche Themen

  1. SQL-Tabelle nicht sichtbar !
    Von Arijane im Forum .NET Café
    Antworten: 11
    Letzter Beitrag: 28.07.09, 09:28
  2. .gif nicht sichtbar
    Von Paspirgilis im Forum HTML & XHTML
    Antworten: 0
    Letzter Beitrag: 27.05.08, 18:01
  3. JTable nicht sichtbar
    Von wSam im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 2
    Letzter Beitrag: 31.08.06, 16:27
  4. XP taskleiste nicht sichtbar
    Von cyberoner im Forum Microsoft Windows
    Antworten: 3
    Letzter Beitrag: 26.09.05, 17:39
  5. Antworten: 14
    Letzter Beitrag: 17.10.04, 14:13