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

Člen

Zobrazeno 10 zpráv z 10.
//= 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.
Povedlo se mi to jenom takhle ale pořád musím vytvářet novej label..a
ještě to maže ostatní komponenty
Label nwe = new Label();
int x = 200;
int y = 200;
public void vytvor(int x)
{
Label nwe = new Label();
Controls.Clear();
nwe.Text = "lolo";
nwe.Location = new Point(x, y);
nwe.AutoSize = true;
Controls.Add(nwe);
}
public void pohyb()
{
x += 20;
vytvor(x);
}
Vyřešil jsem to takhle..Pokud někdo zná lepší způsob tak budu jedině
rád
Label nwe = new Label();
int x = 200;
int y = 200;
public void vytvor(int x)
{
nwe.Text = "lolo";
nwe.Location = new Point(x, y);
nwe.AutoSize = true;
Controls.Add(nwe);
}
public void pohyb()
{
x += 1;
vytvor(x);
}
Po upravení pozície zavolaj na komponente (alebo celom forme) metodu Invalidate. Tá by mala prekresliť komponentu. (píšem z hlavy a z mobilu, názvom si niesom na 100% istý)
A taktiež musíš editovať súradnice danej komponenty ako písal gcx11.
Sice nevím co má kód dělat, ale metodu vytvoř bych spíše pojmenoval nastav..
Refresh...
"http://msdn.microsoft.com/en-us/library/system.windows.forms.control.refresh.aspx"
Do pohybu jsem dal
x += 1;
this.nwe.Location = new Point(x, y);
a už to funguje..
Jen se chci zeptat jak bych měl udělat pohyb mnoha komponent..např.
PicBoxů.
Vytvořil bych jich třeba 50 a pak bych je všechny posouval o stejnou
vzdálenost.(Něco jako kdyby měly stejný jméno a já bych napsal:pb.Left--;
a všechny by se posunuly.)
Nechci to dělat přes pole a tak mě zajímá jestli existuje jiný způsob
.
Děkuju za odpovědi
Budeš je muset tak i tak iterovat. Zamyslel bych se ale nad těma 50ti pictureboxy.
Záleží jestli je chceš vytvořit a posouvat všechny najednou nebo ne. Pokud jo, tak si je třeba připni na panel a pak posuň celý panel.
Zobrazeno 10 zpráv z 10.