Tablica nowych obiektów
| Pryzmat | 23.05.2006 23:55:59 | |
![]() | chcial bym sobie dynamicznie stworzyc kilkadziesiat /kilkaset obiektow probuje w ten sposob [cs] Panel[,] p =new Panel[10,10]; //deklaracja tablicy 2-wymiarowej typu Panel for ( int x = 1 ; x==10 ; x++) { for ( int y = 1; y == 10 ;y++ ) { p[x,y] = new Panel(); p[x,y].BackColor = Color.Black; // p[x, y].ClientSize = new Size(10,10); p[x, y].SetBounds((this.Location.X + 14 + x * 10), (this.Location.Y + 64 + y * 10), 10, 10); p[x, y].Show(); p[x, y].Visible = true; } } [/cs] ale cos moje 100 paneli sie nie pokazuje :/ | |
| Nieznany | 24.05.2006 12:46:02 | |
![]() | A gdzie: [cs] Controls.Add(p[x,y]); [/cs] wykonane dla każdego panelu?? Musisz dodać coś takiego w pętli. | |
| Pryzmat | 24.05.2006 13:05:24 | |
![]() | POMOGLO Dzieki | |
| Pryzmat | 25.05.2006 00:46:35 | |
![]() | [cs]void panele() { Panel pp = new Panel(); Controls.Add(pp); pp.SetBounds(160, 115, px10, py10); progressBar1.Maximum = px;
}[/cs] puszczenie tego kodu na mocnym komputerku dla wartosci px=128 py=64 trwa kilka minut czy da sie to jakos przyspieszyc ewentualnie zrobic to na innych obiektach byle by byly male i mozna byloby zmienic ich kolor | |
| Nieznany | 25.05.2006 07:18:34 | |
![]() | Każesz mu wszystkie Eventy przetworzyć (wywołująć DoEvents) w każdym obrocie pętli, to trochę trwa. Poza tym kontrolki odswieżają się co jakiś czas, zobacz jak to robi Designer (poogladaj jak wyglada kod InitiaizeComponents po wrzuceniu z Designera kilku kontrolek). On sobie używa metody, która mówi kontrolce aby się nie odswieżała dopóki nie skończy. Leciała ona chyba jakoś SuspendLayout (a potem ResumeLayout ofc), ale głowy sobie nie dam uciąc. Zerknij do tej metody...poza tym nie liczłbym że to będzie działać szybko..w końcu chcesz mieć 8192 panele i osobiście nie czaje dlaczego chcesz tak.... | |
| Pryzmat | 25.05.2006 10:09:17 | |
![]() | ma to sterowac wyswietlaczem led ale wielkosc wyswietlacza moze byc dowolna tzn 8x, 8y musze miec tablice jakis elementow ktore potrafia zmienic kolor(ma to sie jeszcze delikatnie animowac np. przeplywajace litery) z tej tablicy bede zczytywal sobie maciez binarna. i to chyba wszystko a doevents wstawilem tylko poto zeby potczas czekania na wyrysowanie wszystkich elementow ktos nie pomyslal ze to zawiecha | |
| Nieznany | 25.05.2006 11:11:46 | |
![]() | Ja bym napisał własną kontrolkę dziedziczącą po Panelu(albo nawet po Control) i odpowiednio rysującą to co by robiły te poszczególne panele. Jeden obiekt to lepiej niż tyle ile chcesz... | |
| Pryzmat | 25.05.2006 11:13:15 | |
![]() | a mozesz dac jakis sampel | |
| Nieznany | 25.05.2006 11:16:19 | |
![]() | Postaram się coś napisać, ale dopiero wieczorem albo nawet jutro. Nie mam teraz dostępu aby to zrobić... | |
| Pryzmat | 25.05.2006 20:07:50 | |
![]() | rozbroilem resource hackerem progrmik zblizony do tego co chce zrobic kontrolka zastepujaca wyswietlacz opisana jest tak CONTROL "Custom1", 1013, "MFCLedDisplayCtrl", 0x50010000, 6, 6, 450, 60 i zlozona zmalutkich bitmapek czarnych i szarych | |
| Pryzmat | 26.05.2006 00:50:18 | |
![]() | co do tworzenia wlasnyvh kontrolek znalazlem to aha ten soft ktory wybebeszalem uzywa GDI+ chyba wlasnie do tej kontrolki Ale nie wiem bo nigdy nie uzywalem GDI (przynajmniej swiadomie :]) A tak poza tym znalazlem komponent ktory moze mi pomoze (rymowanie tez niezamiezone) PanelArray albo PictureBoxArray | |
| Nieznany | 26.05.2006 08:47:41 | |
![]() | No właśnie coś takiego miałem stworzyć...jeden panel, który w metodzie OnPaint malowałby tablicę małych bitmapek...można to porównać do tego PicturBoxArray, albo PanelArray. | |
| Pryzmat | 26.05.2006 10:05:18 | |
![]() | pawlos napisa≥: No właśnie coś takiego miałem stworzyć...jeden panel, który w metodzie OnPaint malowałby tablicę małych bitmapek...można to porównać do tego PicturBoxArray, albo PanelArray.Probowalem cos z tym zrobic no ale niestety nie udalo mi sie nic nie wiem jak za pomoca tego zadeklarowac tablice | |
| Nieznany | 26.05.2006 11:42:08 | |
![]() | Daj namiary na te kontrolki to zobacze może coś z nimi wymyślę. | |
| Pryzmat | 26.05.2006 11:51:14 | |
![]() | menu->tools->choose toolbox items->.NET framework components->panelarray i pozostale | |
| Pryzmat | 26.05.2006 12:44:39 | |
![]() | wymyslilem cos wystarczajaco szybkiego tylko nie wiem czy sie sprawdzi [c] System.Drawing.Graphics formGraphics = panel1.CreateGraphics(); System.Drawing.Pen myPen; myPen = new System.Drawing.Pen(System.Drawing.Color.Black); for (int x = 0; x < panel1.Width/32; x++) for (int y = 0; y<panel1.Height/32 ; y++) // formGraphics.DrawRectangle(myPen, (x * 5), (y * 5), 5, 5); formGraphics.DrawIcon(Icon, (x * 32), (y * 32)); myPen.Dispose(); formGraphics.Dispose();[/c] | |
| Nieznany | 26.05.2006 13:21:27 | |
![]() | No własnie mniej więcej o coś takiego chodziło, tyle że ładniej by było jakby to była kontrolka. Ale jeżeli wystarcza to co jest...no to nie ma problemu... | |
| Pryzmat | 26.05.2006 17:54:27 | |
![]() | czy wystarczy to w wolnej chwili sprawie bo musi byc jeszcze indeksowanie | |
| Pryzmat | 28.05.2006 19:10:47 | |
![]() | No juz prawie wszystko dziala pozostal mi tylko jeden problem kwadraciki rysowane w ten sposob na panelu [c] formGraphics.DrawImage(sz, x * 6, y * 6, 4, 4);[/c] znikaja po spuszczeniu okienka w pasek albo zasłonięciu go czymkolwiek innym. Jest na to jakis sposob ??? | |
| adi90 | 28.05.2006 19:59:35 | |
![]() | Zapętlić? | |
| Pryzmat | 28.05.2006 20:14:35 | |
![]() | niemoge bo na bierzaco na niech rysuje | |
| Pryzmat | 29.05.2006 08:50:09 | |
![]() | http://msdn2.microsoft.com/en-us/library/system.windows.forms.painteventargs(d=ide).aspx chyba taki redraw musze zrobic lub inna podkladke bo rysunek na panelu sie nie odswieza onevent Tylko nie wiem jaka bo picturebox na ktory liczylem tez sie nie odswieza | |
| Pryzmat | 29.05.2006 12:11:10 | |
![]() | mam tymczasowe roawiazanie rysuje wszystko odnowa w zdarzeniu Paint | |

