Button1 -> Objekt erstellen; Button2 -> Objekt ändern
-
Hallo,
ich bin gerade dabei c# zu lernen und versuch hier gerade mit objekten was zu probieren.
Ich habe es bis jetzt so, dass ich einen button habe und bei klick ein neues objekt der klasse CAuto erstellt wird.
public void buttonstart_Click(object sender, EventArgs e) { CAuto karre = new CAuto(); karre.Name = "Car"; karre.Location = new Point(12, 73); karre.Size = new Size(50, 20); karre.Text = "Car"; this.Controls.Add(karre); }
Jetzt wollte ich über einen anderen button eine Eigenschaft von dem Objekt ändern.. z.B. wenn ich den button drücke, dann soll von dem Objekt "karre" der wert der Location geändert werden...
einfach:
private void buttonloc_Click(object sender, EventArgs e) { karre.Location = new Point(212, 73); }
geht nicht...
Die buttons werden in der gleichen Klasse ausgeführt..
public partial class Form1 : Form { public Form1() { InitializeComponent(); } public void buttonstart_Click(object sender, EventArgs e) { CAuto karre = new CAuto(); karre.Name = "Car"; karre.Location = new Point(12, 73); karre.Size = new Size(50, 20); karre.Text = "Car"; this.Controls.Add(karre); } private void buttonexit_Click(object sender, EventArgs e) { Application.Exit(); } private void buttonloc_Click(object sender, EventArgs e) { karre.Location = new Point(212, 73); } }
wär cool, wenn mir da wer von euch helfen könnte,
danke schon im voraus,
mfg
Pyro
-
Du musst "karre" schon irgendwo ansprechbar haben.
Entweder du speicherst es zwischen, oder du suchst es bei den Controls raus.PS: "geht nicht... " ist immer sehr hilfreich -.-
-
oder du suchst es bei den Controls raus.
wie genau meinst du das? ich arbeite seit 3 tagen mit c#, also bitte,w enn möglich mit codebsps^^
die aussage "geht nicht" sollte einfach aussagen, dass ich das schona usprobiert habe und das da eben nicht geht und wenn ich es hinschreibe ich auch keine autovervollständigung bekomm...
ich hätte den fehler mit posten können, der da rauskommt, aber ich denke mal, dass ihr auch ohne den fehler wisst, was da falsch is...
Error 1 The name 'karre' does not exist in the current context
-
CAuto existiert nur in der Funktion buttonstart_Click.
Du musst es dann schon als Member der Formklasse machen.
Sind Grundlagen der Softwareentwicklung.Objekte, welche in einer Methode erstellt wurden werden nach verlassen zerstört.
-
na doll... das geht so einfach und ich häng dafür ewig drüber-.-...
naja, dann danke, habs...
-
Naja man sollte schon die grundlagen Prozeduraler Programmierung verstanden haben und wissen was ein Gültigkeitsbereich ist, eh man mit Objektorientierter Programmierung anfängt
-
Tröste dich aber damit das dies eine der häufigten Probleme sind welche ein Anfänger hat.
Liegt aber einfach daran das man mal die Grundlagen überblättert.
-
die grundlagen hab ich.. in c wärs mir nich passiert.. ich war nur irgendwie etwas neben mir / verpeilt .. und das im zusammenhag mit OO, was ich sowiseo noch nicht so lang mache... kommt halt dazu...