Ik was een klein tooltje aan het maken toen ik tegen het volgende aan liep:
Er zitten drie radiobuttons in een GroupBox en er is een knop die wat zoekt op basis van de geselecteerde button.
Nu kan het even duren voor de actie is uitgevoerd, dus ik had het idee om de text van de button te veranderen in "Searching.." in het begin van de button_Click methode en dan weer terugzetten op het eind van de methode:
(het moge duidelijk zijn dat de normale code even is vervangen voor MessageBoxes voor de eenvoud
)
Wat na wat debuggen blijkt, is dat deze actie pas gebeurt ná het uitvoeren van de code in het if/else blok. Dus op het moment dat de MessageBox wordt getoond, verandert pas de text van de button.
ijdens het uitvoeren van de code gebeurt er dus niets met de button, totdat de MessageBox getoond wordt, terwijl het nou juist de bedoeling is dat die button text verandert om aan te geven dat er op de achtergrond wat gebeurt.
Toen ik daarna probeerde om een label met "Searching.." visible te maken en daarna weer te hiden, bleek deze van hetzelfde fenomoon last te hebben..
Het kan aan mij liggen, maar dit is toch niet logisch?
Er zitten drie radiobuttons in een GroupBox en er is een knop die wat zoekt op basis van de geselecteerde button.
Nu kan het even duren voor de actie is uitgevoerd, dus ik had het idee om de text van de button te veranderen in "Searching.." in het begin van de button_Click methode en dan weer terugzetten op het eind van de methode:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| private void button1_Click(object sender, EventArgs e) { button1.Text = "Searching.."; if (radioButton1.Checked) { MessageBox.Show("button1"); } else if (radioButton2.Checked) { MessageBox.Show("button2"); } else { MessageBox.Show("button3"); } button1.Text = "Search"; } |
(het moge duidelijk zijn dat de normale code even is vervangen voor MessageBoxes voor de eenvoud
Wat na wat debuggen blijkt, is dat deze actie pas gebeurt ná het uitvoeren van de code in het if/else blok. Dus op het moment dat de MessageBox wordt getoond, verandert pas de text van de button.
ijdens het uitvoeren van de code gebeurt er dus niets met de button, totdat de MessageBox getoond wordt, terwijl het nou juist de bedoeling is dat die button text verandert om aan te geven dat er op de achtergrond wat gebeurt.
Toen ik daarna probeerde om een label met "Searching.." visible te maken en daarna weer te hiden, bleek deze van hetzelfde fenomoon last te hebben..
Het kan aan mij liggen, maar dit is toch niet logisch?
Kater? Eerst water, de rest komt later