Diskuze: Label v nové třídě
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
No dotaz je určitě divně napsaný, to máš pravdu
Udělej si normalně propertu (vlastnost) v té třídě a asi používáš tu instanci ve formuláři, tak nastavíš tomu labelu vlastnost text na tu vlastnost co je v té tvé třídě.
Tak teď si říkám taky co jsem to napsal, ale to vždycky, když už skoro
spím
Mno ve které třídě mám udělat tu vlastnost? Mám dvě, defaultní Form1.cs
a player.cs.
Jinak jsem zkoušel včera pak tohle:
Form1.cs
public void StatusUpdate (string text)
{
status1.Text = text;
}
player.cs:
Form1 statusik = new Form1();
statusik.StatusUpdate("Nejaky text");
Nemůžeš ale přeci ve třídě Player založit celý Form znovu. Do třídy player si předáš buď celý Form ale přehlednější by bylo předat jenom třeba ten label.
Každopádně návrhově to není úplně dobré. Player přeci nemá nic zobrazovat, o to se stará nějaký manažer vykreslování. Tj ideálně by jsi měl reagovat na změny hráče pomocí událostí
Dobře, tak jak mám teda nějaký text co je ve třídě player.cs (není to třída o hráči, ale přehrávači) vypsat v labelu, který se jmenuje status1 (Funguje jen ve Form1.cs). Myslel jsem, že to půjde třeba uložit do nějaké proměnné která půjde pak použít ve Form1.cs
class Player
{
public Label Label { get; set; }
}
public partial class Form1 : Form
{
Player p = new Player();
public Form1()
{
InitializeComponent();
p.Label = label1;
}
private void button1_Click(object sender, EventArgs e)
{
p.Label.Text = "blablabla";
}
}
Ah díky moc, jen taková maličká věc. Co tam mám ještě přidat, aby se v tom labelu vypsala proměnná status, která je ve třídě player.cs
Existuje tu tlačítko odpovědět.
A co by? Máš tam referenci na instanci toho labelu. Takže cokoliv s tím labelem uděláš v té třídě Player se promítne i ve formu...
Jop na odpovědět, jsem zapomněl. Jinak už jsem na to přišel, tak díky
moc
Zobrazeno 9 zpráv z 9.