C# - zobrazení okna v náhodné pozici

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uživatelský avatar
tux
Elite Level 10
Elite Level 10
Příspěvky: 9627
Registrován: červenec 10
Pohlaví: Muž
Stav:
Offline

C# - zobrazení okna v náhodné pozici

Příspěvekod tux » 29 bře 2012 18:12

Hoj, dělám si menší blbost v C# a potřebuju poradit.
Udělal sem si jednoduchou funkci která mi po kliknutí na jedno tlačítko zobrazí několikrát jedno okno

Kód: Vybrat vše

        private void button1_Click(object sender, EventArgs e)
        {
           

                     for (int i = 1; i <= 100; i++)
         {
             var f = new Form2();
             f.Show();
         }
         Console.ReadLine();
         }

A potřebuju nějak udělat že ty okna vyskáčou na obrazovce náhodně, v pozici okna (Start position) žádnej random není, je tam akorát těch 5 (manual, centerscreen,..)
Tak jestli to jde nějak udělat, nebo to udělat přímo editací kódu,.. v C# jsem zatím noob tak nevim.

Jo a jde do toho kódu nějak přidat něco aby se mi to otevírání těch formů zdrželo třeba o 100 ms? Jako mezi sebou, aby mi tam nenaskočilo všechno "hned".
Just Fucking Google It!

Reklama
Uživatelský avatar
domitea
Tvůrce článků
Level 4.5
Level 4.5
Příspěvky: 1971
Registrován: červen 09
Bydliště: Královehradecký kraj
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: C# - zobrazení okna v náhodné pozici

Příspěvekod domitea » 29 bře 2012 20:20

Je třída Random a Form má vlastnost Top a Left . Na to postupné je vhodný Timer, který má metodu tick, která se provede po určitém intervalu.

V kódu musí být Form f = new Form2();

Uživatelský avatar
tux
Elite Level 10
Elite Level 10
Příspěvky: 9627
Registrován: červenec 10
Pohlaví: Muž
Stav:
Offline

Re: C# - zobrazení okna v náhodné pozici

Příspěvekod tux » 29 bře 2012 21:17

Ok, absolutně nevim co si tady právě napsal :lol:
Nechceš mi to udělat? Celej projekt máš tady:
Nový WinRAR archiv.rar
(43.01 KiB) Staženo 14 x

Ten timer dělat nemusíš, až se to budu ve škole učit tak to zkusim sám.

Jinak jak přejmenuju popis tý aplikace ve správci procesů?

A malej postřeh, když ten výslednej *.exe program přejmenuju na svchost.exe, změněj se tlačítka na klasickej styl. Proč?
Just Fucking Google It!

Uživatelský avatar
domitea
Tvůrce článků
Level 4.5
Level 4.5
Příspěvky: 1971
Registrován: červen 09
Bydliště: Královehradecký kraj
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: C# - zobrazení okna v náhodné pozici

Příspěvekod domitea » 29 bře 2012 21:59

Tak jinak. K tomu, aby jsi získal nějaké náhodné číslo existuje pod .NETem třída Random a ta se deklaruje:

Kód: Vybrat vše

Random rnd = new Random();


a náhodné číslo z ní získáš metodou Next, která může brát dva parametry. Minimum a maximum, neboli rozlišení daného displeje, kde max. hodonota bude poslední pixel displeje. A pak Form. Ten má vlastnosti Top a Left. Ty můžeš využít!

Kód pak může vypadat následovně:

Kód: Vybrat vše

// použiju rozlišení displeje 1366x768
Form1.top = rnd.Next(0, 768);
Form1.left = rnd.Next(0, 1366);


A co je zajímavější, tak tahle zákl. vlastnosti mají všechny komponenty Windows Form, takže kód bude identický jak pro form, tak button, nebo třeba DataGrid, jen se místo Form1 dá něco jiného. :wink:

Takže pak výsledný kód může vypadat přibližně:

Kód: Vybrat vše

private void button1_Click(object sender, EventArgs e)
        {
            Random rnd = new Random();
Form2 f = new From2();
f.top = rnd.Next(0, 768);
f.left = rnd.Next(0, 1366);
f.show();
        }


A to je vše, už žádný readline, který je jen do konzole!

Uživatelský avatar
tux
Elite Level 10
Elite Level 10
Příspěvky: 9627
Registrován: červenec 10
Pohlaví: Muž
Stav:
Offline

Re: C# - zobrazení okna v náhodné pozici

Příspěvekod tux » 29 bře 2012 22:13

Ok, nechceš mi to udělat a upnout to sem? Abych se mohl vzdělávat podle toho, teď vůbec nevim co kam psát :-D
A pokud to spustim na monitoru s jiným rozlišením tak se stane co? V případě většího se to na okraji nebude zobrazovat a v případě menšího budou Formy skákat mimo monitor? :-D
Jinak to s tim readline sem našel tady, sám bych na to nijak nepřišel. -> http://projektysipvz.gytool.cz/Projekty ... aspx?uid=3
Just Fucking Google It!

Uživatelský avatar
domitea
Tvůrce článků
Level 4.5
Level 4.5
Příspěvky: 1971
Registrován: červen 09
Bydliště: Královehradecký kraj
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: C# - zobrazení okna v náhodné pozici

Příspěvekod domitea » 29 bře 2012 22:18

Snad vidíš, kde v případě potřeby rozlišení upravit :wink: , navíc tam nepočítám s tím, že left bude na 1366, to by pak form nebyl vidět, takže jak se to vyřeší? :idea:

Readline se týká jen konzole a ty příklady taky :wink:

Uživatelský avatar
tux
Elite Level 10
Elite Level 10
Příspěvky: 9627
Registrován: červenec 10
Pohlaví: Muž
Stav:
Offline

Re: C# - zobrazení okna v náhodné pozici

Příspěvekod tux » 29 bře 2012 22:29

Hele, já nejsem žádnej programátor, vim akorát to co jsem se naučil za dva měsíce ve škole a to co jsem našel na netu takže vůbec nevim jakou řečí tady na mě mluvíš (píšeš), resp. rozumim ale nechápu.
Takže:

Nevidim.
Nevim.
Co?

:lol:

Nemůžeš to prostě udělat tak jak to má bejt a pak to sem upnout? Mě když člověk neukazuje "tohle smaž", "tady napiš tohle" tak nevim :lol:
Just Fucking Google It!


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Náhodné vypínání PC Příloha(y)
    od VojtouNerCZ » 17 led 2025 15:34 » v BSOD (Blue Screen Of Death)
    1
    2683
    od VojtouNerCZ Zobrazit poslední příspěvek
    20 led 2025 15:31
  • počítač se náhodně restartuje
    od JXC0B » 25 říj 2024 20:24 » v Vše ostatní (hw)
    4
    3496
    od pcmaker Zobrazit poslední příspěvek
    27 říj 2024 10:14
  • Náhodné restarty notebooku
    od Villentretenmerth » 07 led 2025 15:43 » v Problémy s hardwarem
    3
    2189
    od Villentretenmerth Zobrazit poslední příspěvek
    10 led 2025 19:53
  • Crucial MX500 - náhodne hlášení o prehriati Příloha(y)
    od michal84 » 21 pro 2024 10:17 » v Problémy s hardwarem
    29
    6638
    od michal84 Zobrazit poslední příspěvek
    28 pro 2024 08:21
  • náhodné lagy(skoro zamrzání) high-end PC při hraní
    od mk2442 » 29 pro 2024 21:37 » v Hry
    2
    2155
    od mk2442 Zobrazit poslední příspěvek
    29 pro 2024 23:56

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti