MaxGaming Opublikowano 27 Maja 2016 Udostępnij Opublikowano 27 Maja 2016 Jak stworzyć dynamicznie w jakimś obiekcie inta? Mam kod tworzący buttony po kolei w każdej linijce: buttonDelete[i / 4] = new Button(); buttonDelete[i / 4].Location = new Point(494, 34 * (i / 4 + 1) + 24); buttonDelete[i / 4].Size = new Size(30, 24); buttonDelete[i / 4].Text = "-"; buttonDelete[i / 4].Click += new System.EventHandler(this.myEvent_Click); Controls.Add(buttonDelete[i / 4]); On jest w for'rze itp. to nie jest zbyt istotne. Chodzi o to, że chce do każdego buttona przyporządkować mój indeks(ten z for-a, chodzi żeby były ponumerowane tak jak ja chce w tej zmiennej). coś w stylu: buttonDelete[i / 4].i = new int; buttonDelete[i / 4].i = i; Tylko jak stworzyć właśnie z poziomu innego obiektu zmienną int i w tym nowo utworzonym buttonie do której mógłbym przyporządkować ten indeks? @e: jestem idiotą. Przecież mogę indeksować po indeksie w tablicy <facepalm> No ale tak na przyszłość, da się jakoś tworzyć takie zmienne "na bierząco"? Kiedyś na pewno mi się to przyda :) @e: jestem jeszcze większym idiotą. Nie moge indeksować po tablicy bo indeks potrzebny mi jest wewnątrz buttona. Bo potem mam kod w evencie kliknięcia w stylu GML usuńlinijkę(i);i potrzebuje tego "i" który jest numerem linijki w którym ten button się znajduję. Mógłbym po Y wyliczać, ale chce jakoś "normalniej" :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
tramur Opublikowano 27 Maja 2016 Udostępnij Opublikowano 27 Maja 2016 Może po prostu nazwij każdy przycisk poprzez właściwość Name? Albo zrobić klasę dziedziczącą po Button, w której wsadzisz tego inta. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Danieo Opublikowano 27 Maja 2016 Udostępnij Opublikowano 27 Maja 2016 Moment, po co chcesz tworzyć dynamicznie pole w klasie? class CustomButton:Button { public int index; public CustomButton(int index_input) { index = index_input; } } Przecież w ten sposób możesz dać przyciskowi index. Do iteratora pętli masz dostęp w obrębie tej pętli więc: for(int i =0; i<10; i++) { buttonDelete[i / 4] = new CustomButton(i); buttonDelete[i / 4].Location = new Point(494, 34 * (i / 4 + 1) + 24); buttonDelete[i / 4].Size = new Size(30, 24); buttonDelete[i / 4].Text = "-"; buttonDelete[i / 4].Click += new System.EventHandler(this.myEvent_Click); Controls.Add(buttonDelete[i / 4]); } O ile dobrze Cię zrozumiałem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się