Wpis z mikrobloga

Napisałem klasę w której mam metodę z dwiema pętlami for do obsługi tablicy dwuwymiarowej.
Mogę jakoś w środku tych pętli spradzać warunek, czy przycisk buttonu został naciśnięty? Natomiast jeśli nie został wciśnięty, to pętla ma czekać na jego naciśnięcie.
Jedna z idei podpowiada mi, żeby przekazać przycisk buttonu przez parametr do metody
void function(System::Windows::Forms::Button ^btn)
{
for(xxx)
for(yyy)
if(buton is clicked) <-najważniejsze, tutaj ma się zatrzymać pętla.
macierz[xxx][yyy]=textbox;
}
Zamiast ifa mogę użyć while, lecz nie wiem czy buton będzie reagować na naciśnięcia na formatce. Nie wiem tylko czy moja koncepcja jest słuszna. Może coś doradzicie jak to rozwiązać? Button jest zdefiniowany w formatce.

#programowanie #cplusplus
  • 14
@whacky_pussy: Trochę bezsensu albo nie widzę sensu zastosowania. Chcę ręcznie wypełnić tablicę dwuwymiarową, ale chcę to robić tak, żeby wartość brało z textboxa (co robi, bo przekazuję jako parametr), oraz żeby licznik fora zatrzymał się przed kolejnym wykonaniem inkrementacji dopóki nie wcisnę buttona. Natomiast break sprawi, że całkowicie wyjdę z pętli, a continue "przyśpieszy" jej działanie omijając pewne kroki. Chyba, że czegoś nie rozumiem.
@Zeroize: nie napisałeś w ogóle po co Ci takie cudo i dzikie imho rozwiązanie. poza tym jak odpalisz to z głównego wątku to UI nie będzie reagować, więc te pętle musisz sobie odpalić w wątku osobnym. a wtedy poczytaj o Invoke, bo winformsy nie lubią jak inne wątki na nich chcą operować.
serio, nurtuje mnie, po co takie coś?
@Zeroize: a pomyślałeś, że pętle to ostatnia rzecz jaka tutaj Ci jest potrzebna? Ty chcesz tablicę wypełniać, na dodatek ręcznie...więc wystarczy Ci jakiś if jak wypełnisz wiersz/kolumnę i zwykłe inkrementacje po kliknięciu buttona, wszystko to możesz zrobić w eventhandlerze kliknięcia, z głowy...przekombinowane to strasznie.
@ilmash: Właśnie nie wymyślałem na nowo koła, bo próbowałem używać wbudowane metody buttonu do weryfikowania tego, czy został naciśnięty przycisk czy nie. Natomiast prawie sobie poradziłem z problemem (pozostały jeszcze zakresy liczb) ale to sobie powolutku ogarnę.
@Zeroize: nie ma wbudowanych metod, które pozwalają na to o czym mówisz -_- OnClick symuluje kliknięcie, ale nvm. radość, że sobie poradziłeś, bo to mimo wszystko jest wymyślanie koła ( ͡º ͜ʖ͡º)
@ilmash: Chodziło mi raczej o coś na wzór "Dialog resultu", gdzie po wciśnięciu buttona w jakiś sposób mógłbym sprawdzać warunek czy został wciśnięty czy nie. Tak czy siak rozwiązałem to w całkowicie inny sposób i jestem zadowolony. Kod wygląda estetyczniej z metodami w osobnej klasie, w buttonach na formatce tylko wywołuję metody tej osobnej klasy co sprawia, że kod jest czytelniejszy w porównaniu do podobnego kodu który ktoś napisał byle jak
@Zeroize: oho, wielki pan programista nagle, który przeszedł od przechwytywania kliknięcia przycisku w metodzie, gdzie dwoma forami wypełnia tablicę do pełnego MVP...co to MSDN to ja nawet nie ()
@ilmash: Bez przesady. Wcześniej programowałem w C#, ale były to programy pisane na odwal się i to ponad 2 lata temu. Obecnie pogodziłem się z C++ i staram się teraz utrzymywać estetykę w kodzie i sobie przypominam wszystko, a że C#.net posiada wiele podobnych metod co "C++.net", to wiem że świta mi w głowie, że można zrobić jakieś rozwiązanie, ale nie byłem w stanie tego ugryźć. Z programowaniem wiążę swoją przyszłość,