ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
214
214
EMPFEHLEN
-
23.09.10 16:10 #1MusiumInCapitiss 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
-
hängt in der Luft, x und y wurden keinem Formular zugewiesen.Code csharp:
1 2
Control x = new Control(); x.Controls.Add(textBoxTest);
Warum das überhaupt?
Damit änderst du den Parent der Controls (textBoxTest etc.) und diese sind dann nicht mehr dem Formular zugeordnet.
-
24.09.10 13:05 #3MusiumInCapitiss 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.
-
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;
Ähnliche Themen
-
SQL-Tabelle nicht sichtbar !
Von Arijane im Forum .NET CaféAntworten: 11Letzter Beitrag: 28.07.09, 09:28 -
.gif nicht sichtbar
Von Paspirgilis im Forum HTML & XHTMLAntworten: 0Letzter Beitrag: 27.05.08, 18:01 -
JTable nicht sichtbar
Von wSam im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 31.08.06, 16:27 -
XP taskleiste nicht sichtbar
Von cyberoner im Forum Microsoft WindowsAntworten: 3Letzter Beitrag: 26.09.05, 17:39 -
on (release) : video ist sichtbar, bei myFilmAb.onPress = function() nicht sichtbar
Von flashmaus im Forum Flash PlattformAntworten: 14Letzter Beitrag: 17.10.04, 14:13





Zitieren
Login





