-
GAMEPOD.hu
Új hozzászólás Aktív témák
-
bpx
őstag
persze, mert te csak a jobb szélét vizsgálod a formnak, és ott is csak egyszer csökken a Location.X értéke, ezután feltétel újra igaz lesz és megint elkezd jobbra haladni, és emiatt ide-oda fog mozogni
mindkét szélét vizsgálni kellene, és az aktuális irányt számontartani, és eszerint változtatni az X koordinátát
erre bőven jó az is, hogy pl. egy változóban tárolod, hogy pozitív vagy negatív értékkel változtatod a Location.X-et
a Form.Width-be pedig beletartozik pl. a keret szélessége is, ami Win7-en már jó sok pixel, szóval nem valami pontos, és emiatt "ki fog csúszni" a gomb a formból , helyette inkább a Form.ClientRectangle.Width-et ajánlompublic partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
timer1.Start();
}
int inc = 7;
private void timer1_Tick(object sender, EventArgs e)
{
button1.Location = new Point(button1.Location.X + inc, button1.Location.Y);
if (button1.Location.X >= this.ClientRectangle.Width - button1.Width) inc *= -1;
if (button1.Location.X <= this.ClientRectangle.X) inc *= -1;
}
}a feltételeket még nyilván lehet finomhangolni, hogy semmiképp ne folyjon ki a formból, de így is sokkal jobb, mint simán Form.Width-et használva
-
Sk8erPeter
nagyúr
Korábbi kódjaidat sem formázva másoltad, de légy szíves használd a "Programkód" gombot forráskód bemásolásakor! Egy másik topicban leírtam, hogyan kell: [link] (nem túl bonyolult, mégis nagyon sokan kihagyják, és odahánynak egy formázatlan, áttekinthetetlen kódot a hsz.-ükbe ).
Sk8erPeter
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Dell Latitude 3510 i7-10510U/16GB DDR4/256GB SSD/Nvidia MX 230 2GB
- Ryzen 5 5600X
- Eladó a képen látható Gigabyte RTX 2070 8GB GDDR6 256bit (GV-N2070WF3-8GC), videókártya.
- HP Probook 15,6", core i5 (4x3,2Ghz),8GB RAM,240GB SSD, jó akku,szép állapot
- HP EliteBook 8460p i5 laptop 14" 4Gb DDR3 notebook eladó
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen