26.1.2011, 17:42 | #281 |
V.I.P. Programiranje
Član od: 29.8.2007.
Lokacija: Valjevo
Poruke: 1.349
Zahvalnice: 983
Zahvaljeno 371 puta na 280 poruka
|
Re: How to... C#
Mozda "covek" 'oce da plati nekog da mu uradi taj posao ali ne ume da objasni sta mu konkretno treba?
|
26.1.2011, 18:10 | #282 | |
V.I.P. Programiranje
|
Re: How to... C#
Citat:
|
|
28.1.2011, 3:01 | #283 |
Starosedelac
Član od: 14.3.2009.
Poruke: 1.200
Zahvalnice: 207
Zahvaljeno 276 puta na 179 poruka
|
Re: How to... C#
Preporuka za e-book:
"Windows Form Programming C#" - Erik Brown lik je objasnio!!! koristi 'nardoski' jezik sto je odlicno za ljude koji se prvi put srecu sa programiranjem |
29.1.2011, 19:12 | #284 |
Veteran
Član od: 28.7.2007.
Lokacija: Rockin world!
Poruke: 700
Zahvalnice: 303
Zahvaljeno 265 puta na 97 poruka
|
Re: How to... C#
Пробудио сам се са идејом да направим игру памћења у С#. Први проблем на који сам наишао је немогућност прављења низа PictureBox-ova (pbx). То сам квази-решио, следећи проблем је постављање pbx на форму. Унесем број редова (3) и број колона (4) и провучем низ кроз дуплу фор петљу:
Kod:
private void NapraviNizSlika() { imgArray = new PictureBox[brojKolona, brojRedova]; int Xpos = 10; int Ypos = 10; for (int i = 0; i <= brojKolona; i++) { for (int j = 0; j <= brojRedova; j++) { imgArray[i, j] = new PictureBox(); imgArray[i, j].Location = new Point(Xpos * 6 * i, Ypos * 6 * j); imgArray[i, j].Size = new Size(50, 50); imgArray[i, j].Name = "PictureBox" + i.ToString(); imgArray[i, j].BorderStyle = BorderStyle.FixedSingle; this.Controls.Add(imgArray[i, j]); MessageBox.Show("Red: " + i.ToString() + '\n' + "Kolona: " + j.ToString()); } } |
29.1.2011, 19:14 | #285 | |
V.I.P. Programiranje
|
Re: How to... C#
Citat:
Kod:
private void NapraviNizSlika() { imgArray = new PictureBox[brojKolona, brojRedova]; int Xpos = 10; int Ypos = 10; for (int i = 0; i < brojKolona; i++) { for (int j = 0; j < brojRedova; j++) { imgArray[i, j] = new PictureBox(); imgArray[i, j].Location = new Point(Xpos * 6 * i, Ypos * 6 * j); imgArray[i, j].Size = new Size(50, 50); imgArray[i, j].Name = "PictureBox" + i.ToString(); imgArray[i, j].BorderStyle = BorderStyle.FixedSingle; this.Controls.Add(imgArray[i, j]); MessageBox.Show("Red: " + i.ToString() + '\n' + "Kolona: " + j.ToString()); } } |
|
Sledeći korisnik se zahvaljuje korisniku Geomaster na korisnoj poruci: | ||
Toce (29.1.2011) |
29.1.2011, 19:18 | #286 |
Veteran
Član od: 28.7.2007.
Lokacija: Rockin world!
Poruke: 700
Zahvalnice: 303
Zahvaljeno 265 puta na 97 poruka
|
Re: How to... C#
|
29.1.2011, 21:31 | #287 |
V.I.P. Programiranje
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
|
Re: How to... C#
i ako mozes da koristis picture box kontrole, to nije preterano pozeljna tehnika.
ako imas 10 x 10 tabelu, to je 100 picture box kontrola, starije masine ce se ozbiljno namuciti da iscrtaju i handleuju tolike kontrole a bespotrebno je. Napravi jednu jedinu picture box kontrolu cije su dimenzije velike i registruj se na njen "Paint" event. u Paint eventu kreiras Graphics objekat i uz pomoc njega rucno kroz petlju crtas sva polja. Radice mnogo, mnogo brze i efikasnije. a kada se malo izvestis sa GDI+ i Graphics objektom, imaces i daleko vecu slobodu i mogucnosti nego da koristis kontrole. |
29.1.2011, 21:43 | #288 |
Veteran
Član od: 28.7.2007.
Lokacija: Rockin world!
Poruke: 700
Zahvalnice: 303
Zahvaljeno 265 puta na 97 poruka
|
Re: How to... C#
Сад кад сам оволико одрадио са pbx, завршићу с њима. После ћу пробати твој начин. Још једно питање: Како да померим све pbx за 10рх доле и десно, а да не реметим већ лепо распоређене боксове и да их не стављам у неки контејнер?
Kod:
Имам ово: ____________________ |x x x x | |x x x x | |x x x x | треба ми ово: ____________________ | | x x x x | | x x x x | | x x x x | |
29.1.2011, 21:50 | #289 | |
V.I.P. Programiranje
|
Re: How to... C#
Citat:
|
|
29.1.2011, 23:10 | #290 |
V.I.P. Programiranje
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
|
Re: How to... C#
kazem ti, igra ce ti se nenormalno vuci na iole slabijoj masini, ali suit your self.
sto se tice pomeranja, to sto si rekao nema nikakvog smisla. Ako SVE kontrole pomeris za isti broj piksela, one ce ostati na istom rastojanju jedne od drugih, tako da ne kapiram uopste u cemu je tvoj problem. kad smo vec kod toga, cvrsto ti savetujem da kad vec oces toliko kontrola, stavi ih u flowlayoutpanel kontrolu. Ta kontrola automatski rasporedjuje sve kontrole koje se nalaze u njoj, pa mozes lako da definises kolko hoces da budu odmaknute od ivica, koliki razmak da imaju jedne od drugih i sve ostalo. Samo znaj da jednostavno radis pogresno. I jedna od najgorih stvari koje mozes da radis kao programer je da se boris sa svojim greskama i odbijas da postupis ispravno jer si dugo radio na pogresnom resenju. |
30.1.2011, 13:15 | #291 |
Veteran
Član od: 28.7.2007.
Lokacija: Rockin world!
Poruke: 700
Zahvalnice: 303
Zahvaljeno 265 puta na 97 poruka
|
Re: How to... C#
@Geomaster
Из кода да их померим. @irreal Што се тиче померања, ја хоћу да померим све контроле за 10рх, али не могу без да упропастим међусобна растојања контрола од 10рх. Користим ову формулу, али она почиње од 0, а мени треба да почне од 10. Сећам се да сам се још у средњој школи рвао с тим позиционирањем из кода (цртао сам неки камион). Kod:
imgArray[i, j].Location = new Point(Xpos * 6 * i, Ypos * 6 * j); |
30.1.2011, 14:00 | #292 | |
V.I.P. Programiranje
|
Re: How to... C#
Citat:
Kod:
imgArray[i, j].Location = new Point(Xpos * 6 * i + 15, Ypos * 6 * j); Poslednja ispravka: Geomaster (30.1.2011 u 14:33) Razlog: nije bias nego offset |
|
Sledeći korisnik se zahvaljuje korisniku Geomaster na korisnoj poruci: | ||
Toce (30.1.2011) |
30.1.2011, 14:12 | #293 |
V.I.P. Programiranje
Član od: 29.8.2007.
Lokacija: Valjevo
Poruke: 1.349
Zahvalnice: 983
Zahvaljeno 371 puta na 280 poruka
|
Re: How to... C#
Ako hoces ovako izgleda u C++-u:
Kod:
typedef unsigned short ushort; const ushort imgRows = 8; const ushort imgColumns = 10; Image* imgs[imgRows][imgColumns]; const ushort offsetFromLeftMargin = 30; const ushort offsetFromTopMargin = 30; const ushort offsetBetweenRows = 10; const ushort offsetBetweenColumns = 30; const Dim imgWH = { 10, 10 }; for(ushort i = 0; i < imgRows; ++i) { for(ushort j = 0; j < imgColumns; ++j) { //imgs[i][j].Location = POINT pos = { offsetFromLeftMargin + (i * imgWH.x) + (i * offsetBetweenRows), offsetFromTopMargin + (j * imgWH.y) + (j * offsetBetweenColumns) } } } |
Sledeći korisnik se zahvaljuje korisniku Belphegor na korisnoj poruci: | ||
Toce (30.1.2011) |
30.1.2011, 14:27 | #294 |
V.I.P. Programiranje
|
Re: How to... C#
Koliko sam ja shvatio, njemu samo treba offset od margina, ništa više...
|
30.1.2011, 14:28 | #295 |
V.I.P. Programiranje
Član od: 29.8.2007.
Lokacija: Valjevo
Poruke: 1.349
Zahvalnice: 983
Zahvaljeno 371 puta na 280 poruka
|
Re: How to... C#
Napravio sam slicicu ako nije jasno:
Spoiler za img:
|
30.1.2011, 14:33 | #296 |
Veteran
Član od: 28.7.2007.
Lokacija: Rockin world!
Poruke: 700
Zahvalnice: 303
Zahvaljeno 265 puta na 97 poruka
|
Re: How to... C#
|
30.1.2011, 17:52 | #297 | |
V.I.P. Programiranje
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
|
Re: How to... C#
Citat:
tako da najcesce kada pomislis "niz kontrola!" ima pametnije i elegantnije resenje. No, kako si naglasio da bi zeleo da naucis baratanje nizom kontrola, samo napred, svaki vid ucenja i sticanja iskustva uvek podrzavam Samo sam hteo da naglasim par stvari koje valja imati na umu, nisam mislio da te nagovorim da batalis to sto radis. |
|
4.2.2011, 4:58 | #298 |
Starosedelac
Član od: 14.3.2009.
Poruke: 1.200
Zahvalnice: 207
Zahvaljeno 276 puta na 179 poruka
|
Re: How to... C#
@Toce
Jel sve ovo da bi imao mogucnost na startu igre da biras broj zeljenih polja (4x4,6x6,10x10)? Ako ne onda previse obracas paznju na dizajn,on po meni (onaj detaljni) treba da dodje na kraju,kad zavrsis sa kodom. Meni su kontrole na samom pocetku rada na nekoj ideji-programu razbacane otprilike cisto da budu ovlash na svojim mestima i onda radim na kodu,jedino sto poshtujem su imena kontrola (Name kontrole) jer naknadno prepravljanje zna da me zbuni kad bude gomila koda. A kad zavrsim kod,onda doterujem sam izgled,pozicije kontrola i da bude user-friendly okruzenje sto se kaze. Ovo cisto kao friendly advice... |
4.2.2011, 11:25 | #299 | |
Veteran
Član od: 28.7.2007.
Lokacija: Rockin world!
Poruke: 700
Zahvalnice: 303
Zahvaljeno 265 puta na 97 poruka
|
Re: How to... C#
Citat:
|
|
6.2.2011, 5:38 | #300 |
Veteran
|
Re: How to... C#
@Toce
U prvim projektima svakako da ces uvek kretati od interfejsa i onda popunjavati kod gde i za sta ti treba, krpiti i sl. To je normalan tok stvari u pocetku. Svakako je zanimljivije tako kada radis na projektu koji zelis. Medjutim nemoj slepo da se drzis toga. Vec na svakom sledecem projektu uvek se trudi da kreces od apstraktnijeg dela ka konkretnijem. Ako nameravas da se bavis programiranjem bice ti potrebn takav pristup stedi vreme a i proizvodi se kvalitetniji kod. Srecno |
Bookmarks sajtovi |
Tagovi |
c sharp, c# tutoriali, how to, visual studio |
|
|