Avatar
Dejvos
Člen
Avatar
Dejvos:

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í.Čest nade vše.
Avatar
Dejvos
Člen
Avatar
Odpovídá na Dejvos
Dejvos:

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í.Čest nade vše.
Avatar
Dejvos
Člen
Avatar
Dejvos:

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í.Čest nade vše.
Avatar
gcx11
Redaktor
Avatar
gcx11:

Č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
Redaktor
Avatar
Odpovídá na Dejvos
Juraj Mlich:

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  +1 11.3.2014 21:45
Vždy je lepšie učiť sa z cudzích chýb, než z vlastných chýb.
Avatar
Odpovídá na Dejvos
Ondřej Štorc:

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:

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
Dejvos
Člen
Avatar
Dejvos:

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í.Čest nade vše.
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Dejvos
Jan Vargovský:

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 Dejvos
Matyáš Černohous (Matesak):

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  +1 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.