Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Šeryx
Člen
Avatar
Šeryx:11.3.2014 21:27

Ahoj je to hovadina ale nepřišel jsem na to jak přesunout komponentu kterou jsem vytvořil v kódu...

public void vytvor()
{
    Label nwe = new Label();
    nwe.Text = "newlabel";
    nwe.Location = new Point(x, y);
    nwe.AutoSize = true;
        Controls.Add(nwe);
}

pokud dám Label nwe = new Label(); jen tak mimo void a potom napíšu do presun() nwe.Left+=100; tak nic..Dík za odpovědi.

Odpovědět
11.3.2014 21:27
Neodsuzuj někoho za to co něco neumí, ale uznávej ho za to co umí....
Avatar
Šeryx
Člen
Avatar
Odpovídá na Šeryx
Šeryx:11.3.2014 21:30

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);

}
Editováno 11.3.2014 21:31
Nahoru Odpovědět
11.3.2014 21:30
Neodsuzuj někoho za to co něco neumí, ale uznávej ho za to co umí....
Avatar
Šeryx
Člen
Avatar
Šeryx:11.3.2014 21:39

Vyřešil jsem to takhle..Pokud někdo zná lepší způsob tak budu jedině rád :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);

}
Nahoru Odpovědět
11.3.2014 21:39
Neodsuzuj někoho za to co něco neumí, ale uznávej ho za to co umí....
Avatar
gcx11
Tvůrce
Avatar
gcx11:11.3.2014 21:43

Čau,
zkus tohle:

this.nwe.Location = new Point(1, 1);

Ty čísla si kdyžtak nastav podle toho, kam to chceš umístit atd...

Editováno 11.3.2014 21:45
 
Nahoru Odpovědět
11.3.2014 21:43
Avatar
Juraj Mlich
Tvůrce
Avatar
Odpovídá na Šeryx
Juraj Mlich:11.3.2014 21:45

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.

Editováno 11.3.2014 21:46
 
Nahoru Odpovědět
11.3.2014 21:45
Avatar
Ondřej Štorc
Tvůrce
Avatar
Odpovídá na Šeryx
Ondřej Štorc:11.3.2014 21:47

Sice nevím co má kód dělat, ale metodu vytvoř bych spíše pojmenoval nastav..

Nahoru Odpovědět
11.3.2014 21:47
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Warif-James
Člen
Avatar
Odpovídá na Juraj Mlich
Warif-James:11.3.2014 21:59

Refresh...

"http://msdn.mi­crosoft.com/en-us/library/sys­tem.windows.for­ms.control.re­fresh.aspx"

Nahoru Odpovědět
11.3.2014 21:59
Kde je můj životní EIP registr?
Avatar
Šeryx
Člen
Avatar
Šeryx:11.3.2014 22:12

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

Nahoru Odpovědět
11.3.2014 22:12
Neodsuzuj někoho za to co něco neumí, ale uznávej ho za to co umí....
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Šeryx
Jan Vargovský:11.3.2014 22:19

Budeš je muset tak i tak iterovat. Zamyslel bych se ale nad těma 50ti pictureboxy.

 
Nahoru Odpovědět
11.3.2014 22:19
Avatar
Odpovídá na Šeryx
Matyáš Černohous:11.3.2014 22:56

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.

 
Nahoru Odpovědět
11.3.2014 22:56
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.