Objekte entfernen
-
Tach Community,
ich habe das Folgende Problem,
wenn ich ein Objekt wie z.B.: eine Button auf meinem Form erstelle.
Ich weiss das ich dieses Objekt nicht aus dem Speicher löschen muss, aber wie kann ich es aus dem Form deleten.
Bzw. Wie kann ich das Form aus Reloaden(Anfangsstatus).
Aber ein Quellcode sagt mehr als Tausend Worte :public void about_page() { PictureBox Bild2 = new PictureBox(); Label CP = new Label(); Bild2.Parent = this; Bild2.Name = "Schul-logo"; Bild2.Width = 400; Bild2.Height = 200; Bild2.Image = Image.FromFile("C:\\marek\\gso.gif"); Bild2.Visible = true; Bild2.Location = new System.Drawing.Point(0, 0); Bild2.Enabled=true; CP.Parent=this; CP.Name="Info txt"; CP.ForeColor= System.Drawing.SystemColors.Desktop; CP.Text="Info"; CP.Location = new System.Drawing.Point(10,250); CP.Width=300; CP.Visible=true; CP.Enabled=true; this.ClientSize = new System.Drawing.Size(310, 266); } public void Help() { Button tt1= new Button(); tt1.Name="Mein Button"; tt1.Text="tt1"; tt1.Parent=this; tt1.Visible=true; tt1.Enabled=true; }
So wenn ich nun die Funktion about_page(); erstelle werden einige Objekte angelegt.
Nun wenn ich aber Help() aufrufe werden die neuen Objekte überlapt...
Wie kann ich dies verhindern ?
-
Die alten Elemente mit enabled=false ausblenden?
-
Hmmm das ging ja flott,
aber irgendwie kann ich deinen Gedankengang nicht nachvollziehen.
In Funktion 1 erstelle ich ein Button.
Damit kann ich schon in Funktion 2 nicht mehr auf den Button zu greifen.
Durch Enabled = false; kann ich ich nicht wirklich unsichtbar machen , wenn dan Visable = false aber da ich aus einer Funktion nicht auf die Werte und Objekte einer anderen Funktion zurück greifen kann, muss ich irgendwie mein MainForm neuzeichen müssen oder nicht ?Oder verlauf ich mich da total ?
-
Marek Swierzy schrieb:
Hmmm das ging ja flott,
aber irgendwie kann ich deinen Gedankengang nicht nachvollziehen.
In Funktion 1 erstelle ich ein Button.
Damit kann ich schon in Funktion 2 nicht mehr auf den Button zu greifen.
Durch Enabled = false; kann ich ich nicht wirklich unsichtbar machen , wenn dan Visable = false aber da ich aus einer Funktion nicht auf die Werte und Objekte einer anderen Funktion zurück greifen kann, muss ich irgendwie mein MainForm neuzeichen müssen oder nicht ?Oder verlauf ich mich da total ?
Ups, ich meinte natürlich Visible=false. Das mit dem Gültigkeitsbereich ist ja auch kein Problem: Mach den Button einfach zu einer Membervariablen deiner Klasse:
// Pseudocode! class Foo : Form { private Button b; public void Funktion1() { b = new Button(); // Attribute setzen usw. } public void Funktion2() { b.Visible = false; // evtl. das Layout des Frames updaten mit this.Update. Sollte aber // NICHT nötig sein. } }
-
So hab ich es mir auch schon gedacht, und irgendwo gelesen... wuste aber nicht mehr wie es geht kewl von dir.
Kennst du auch noch ne Page wo ich info's über verbindungen mit MySQL finde ?
Sprich wie baue ich eine Verbingun mit C# auf.
Wie lese ich daten aus (nicht die SQL-Syntax, die kann ich)
Wie gebe ich die ausgelesenen Daten wieder etc etc...
thx
-
Marek Swierzy schrieb:
So hab ich es mir auch schon gedacht, und irgendwo gelesen... wuste aber nicht mehr wie es geht kewl von dir.
Kennst du auch noch ne Page wo ich info's über verbindungen mit MySQL finde ?
Sprich wie baue ich eine Verbingun mit C# auf.
Wie lese ich daten aus (nicht die SQL-Syntax, die kann ich)
Wie gebe ich die ausgelesenen Daten wieder etc etc...
thxEinfach nach ADO.NET googeln...
http://www.c-sharpcorner.com/Database.asp
-
jup. da gibts von mircosoftpress einen titel "ADO.NET" isse geiles teil !
würd ich ordern !und mal nach doku zu msado15.dll bzw. msadox.dll goolen.