C-Sharp Label aus anderer Klasse heraus ändern
Hi,
in einer C# Form habe ich ein Label, welches sich aus einer anderen Klasse heraus ändern soll.
Datei1:
Datei 2:
in der doCrazyStuff() soll das label1 geändert werden.
Ich bin leider noch ganz am Anfang in C# und komme nicht weiter.
Form1.label1.Text funktioniert auch nicht.
Ich habe auch versucht in der Klasse2 nochmal
Form1 cde = new Form();
zu machen, doch dann bekomme ich eine Meldung, dass das Programm zu lange selbst aufgerufen wird.
Habe ich ne Idee, wie ich das lösen kann.
Gruß
8digit
in einer C# Form habe ich ein Label, welches sich aus einer anderen Klasse heraus ändern soll.
Datei1:
namespace Test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
klasse2 abc = new klasse2();
private void button1_Click(object sender, EventArgs e)
{
abc.doCradyStuff();
}
}
}
namespace Test
{
class klasse2
{
public void doCradyStuff()
{
label1.text = "Test"; //Das hier funktioniert nicht
}
}
}
in der doCrazyStuff() soll das label1 geändert werden.
Ich bin leider noch ganz am Anfang in C# und komme nicht weiter.
Form1.label1.Text funktioniert auch nicht.
Ich habe auch versucht in der Klasse2 nochmal
Form1 cde = new Form();
zu machen, doch dann bekomme ich eine Meldung, dass das Programm zu lange selbst aufgerufen wird.
Habe ich ne Idee, wie ich das lösen kann.
Gruß
8digit
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 244698
Url: https://administrator.de/forum/c-sharp-label-aus-anderer-klasse-heraus-aendern-244698.html
Ausgedruckt am: 24.12.2024 um 00:12 Uhr
2 Kommentare
Neuester Kommentar
Hi,
woher soll denn "klasse2" wissen, wer "label1" ist? Du musst da schon explitzit eine Referenz angeben.
ich kann jetzt kein C#, nur in VB.Net bewandert, aber das muss in etwa so aussehen: (ich hoffe, die syntax stimmt)
Beim Erstellen der klasse2 übergibst Du das Fromular.
E.
Edit:
Oder So
woher soll denn "klasse2" wissen, wer "label1" ist? Du musst da schon explitzit eine Referenz angeben.
ich kann jetzt kein C#, nur in VB.Net bewandert, aber das muss in etwa so aussehen: (ich hoffe, die syntax stimmt)
namespace Test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
klasse2 abc = new klasse2(this);
private void button1_Click(object sender, EventArgs e)
{
abc.doCradyStuff();
}
}
}
{
class klasse2
{
private Form _Parent;
public klasse2(Form Parent)
{
_Parent = Parent;
}
public void doCradyStuff()
{
_Parent.label1.text = "Test";
}
}
}
Beim Erstellen der klasse2 übergibst Du das Fromular.
E.
Edit:
Oder So
amespace Test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
klasse2 abc = new klasse2();
private void button1_Click(object sender, EventArgs e)
{
abc.doCradyStuff(this);
}
}
}
{
class klasse2
{
public void doCradyStuff(Form Parent)
{
Parent.label1.text = "Test";
}
}
}