Ik heb een form met wat textboxjes en een aantal knoppen. Als je op bepaalde knoppen drukt dan worden bepaalde textboxen disabled. Afhankelijk van de invoer kan het zijn dat meteen hierna bepaalde invoervelden weer beschikbaar (enabled) worden. Voor de gebruiksvriendelijkheid had ik hierbij graag een bepaalde control de focus gegeven zodat de gebruiker meteen weer kan beginnen met invoeren.
Dat lijkt eenvoudig denk je:
Dat lijkt eenvoudig denk je:
code:
Maar dat werkt dus niet... Als ik controleer met .CanFocus en .Focused zoals in onderstaand voorbeeld dan krijg ik een gek resultaat:1
2
| textBox.Enabled = true; textBox.Focus() |
code:
De eerste messagebox geeft zoals verwacht true, maar de tweede false! Dus de textbox *kan* de focus krijgen maar wanneer ik de focus geef dan weigert ie... Maar waarom? Wat doe ik mis? Misschien interpreteer ik het nut van .Focus() verkeerd, maar hoe kan ik anders mijn beoogde resultaat bekomen?
1
2
3
4
| textBox.Enabled = true; MessageBox.Show(textBox.CanFocus.ToString()); // true textBox.Focus(); MessageBox.Show(textBox.Focused.ToString()); // false ??? |