- Motorola Edge 50 Neo - az egyensúly gyengesége
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Magisk
- Milyen okostelefont vegyek?
- iPhone topik
- Xiaomi 15 - kicsi telefon nagy energiával
- Realme GT Master Edition - mestermunka
- Egyszerre legnagyobb és legkisebb is a Garmin Venu X1
- Google Pixel topik
- Honor Magic5 Pro - kamerák bűvöletében
Új hozzászólás Aktív témák
-
Karma
félisten
Jelen felállásban a clientSocket (borzalmas névválasztás listának) tagváltozóból kapcsolatonként van egy példány. Azaz minden kapcsolatot külön listába pakolsz bele, így nyilván minden üzenet visszapattan önmagára.
A gyors és ocsmány megoldása a problémának az, hogy a listát statické teszed. Az elegáns meg az lenne, hogy a kapcsolatok listájának kezelését egy másik osztálynak kéne végeznie.
-
Karma
félisten
El persze, mondjuk nekem is puskáznom kell. Ami biztos: attól, hogy háttérszálon végzed a rajzolást, még nem mentesülsz az eseménykezelés szabályai alól. Nem rajzolhatsz akármikor, közvetlenül a képernyőre, ez kőbe van vésve.
Amit tehetsz helyette az egy Bitmap létrehozása, mint afféle vászon - a háttérszálon erre végzed a bonyolult rajzolást. Ha kész vagy, átszólsz UI szálon, hogy új tartalom van, és a Paint eseménykezelő ezt a bitmapet egy lépésben kirajzolja. Vagy PictureBoxot használsz, és annak odaadod a kész képet, hogy jelenítse meg.
Ezt most nem sikerült annyira érthetően megfogalmaznom, amiért bocs. Majd ha úgy alakul és a VS-em is feléled, írok valami példát.
-
Karma
félisten
Meg. Totális fogalomzavarban vagy a rajzolással kapcsolatban.
Itt például van egy gyorstalpaló példa, amiben benne van minden ami kell neked.
Tételesen:
1) Rajzolni csak és kizárólag a Paint esemény hatására lehet, és csak UI szálon. Te most háttérszálon "bele a nagyvilágba" rajzolsz, ezzel a Windows különösebben nem foglalkozik. Bár meglep, hogy nem robban fel.
Szóval vegyél fel egy Paint eseménykezelőt, és annak a belsejébe tedd a rajzoló kódot - de szigorúan csak annyit, ami a vonal pillanatnyi állapotát kirajzolja! Semmi ciklus vagy várakozás!
2) Háttérszál helyett használj Timert, amivel periodikusan megnövelsz egy változót, majd meghívod a Form Invalidate() metódusát.
Ez jelzi a rendszernek, hogy szitu van, szeretnéd újrarajzolni a Formot. A rendszer meg hamarosan meghívja a Paint eseménykezelődet. -
DS39
nagyúr
ahogy az előttem szóló is írja, kétdimenziós tömb kell:
például:
int[,] sor = new int[15, 50];
for (int i = 0; i < 15; i++)
{
for (int j = 0; j < 50; j++)
{
sor[i,j] = 1;
Console.SetCursorPosition(j, i);
Console.Write("*");
}
}és ennyi, kiegészíted if else ággal a tartalmat ahogy csináltad eredetileg, kiveheted a 0 és 14-es esetet ami más mint a többi, de lényegesen leegyszerűsödne a tömbfeltöltés és a kód is.
Új hozzászólás Aktív témák
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Okos Otthon / Smart Home
- Nintendo Switch 2
- Apple asztali gépek
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Háztartási gépek
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Eredeti játékok OFF topik
- hdanesz: Hyundai Ioniq 28kWh - Első benyomások - második felvonás
- Autós topik
- Azonnali VGA-s kérdések órája
- További aktív témák...
- Eladó Konfig Ryzen 7 7700 32GB DDR5 1TB SSD RTX5070 12GB!
- Precision 5550 15.6" 4K+ IPS érintő i7-10750H Quadro T1000 16GB 512GB NVMe ujjlolv IR kam gar
- Amazon Kindle (10. gen) eBook olvasó
- Latitude 5550 15.6" FHD IPS Ultra 5 135U 16GB 512GB NVMe magyar vbill ujjolv IR kam gar
- Gamer PC , i7 10700 , RX 6700 XT 12GB , 32GB 3200MHz , 512GB NVME , 1TB HDD
- BESZÁMÍTÁS! Intel Core i7 4790 4 mag 8 szál processzor garanciával hibátlan működéssel
- Fujitsu USB Port Replicator PR09 docking station (1x5K vagy 2x4K felbontás) (DisplayLink)
- LG 65B4 - 65" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
- ASUS Radeon RX 7600 V2 Dual OC 8Gb - Aqua gari 26.12.12 ig
- Csere-Beszámítás! Intel Core I9 14900KS 24Mag-32Szál processzor!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest