Dziwne konsekwencje zastosowania operatora +=

0

Witam,
Piszę program WindowsForms pod Mono Ubuntu i co jakiś czas dokonuję transkrypcji aktualnej wersji do Windows. Pojawiają się przy tym zaskakujące błedy i tak ostatnio...

Chciałbym żeby ktoś postarał się objaśnić mi następujšce sytuację. Mam formularz a w nim panel oraz etykietę. Do panelu przypisane jest MouseMove w obsłudze którego wyświelana jest np. pozycja kursora nad panelem. A teraz to samo trochę inaczej. Zamiast bezpośrednio umiesczać te dwie kontrolki w formularzu tworzę UserControl i umieszczam je w tej kontrolce, którą następnie dodaję do formularza. Wydaje się, że nie powinno być żadnej różnicy a jednak. Kiedy w obsłudze MouseMove dodam tekst do etykiety przy pomocy operatora += np. lInfo.Text += "ble ble" napis się nie wyświetli w drugim (UserControl) przypadku. Nie powoduje to jednocześnie wywołania żadnego błedu.
Może ktoś wie albo chociaż domyśla się o co chodzi. Problem łatwy do obejścia ale chciałbym zrozumieć jego istotę.

0

Obejście problemu? Dodałem zmienną string i na niej przeprowadziłem wszelkie += a następnie wynik dopisałem do label.Text
Referesh() wydaje się chyba dobrym tropem - wyświetla się tekst z przed += a ten dodany pojawia się i znika - także przy braku ruchu myszą.

1 użytkowników online, w tym zalogowanych: 0, gości: 1