anoniem Geplaatst: 22 januari 2003 Delen Geplaatst: 22 januari 2003 Hey Folks! Ik wil graag door mijn form [i:57737fb62f]wandelen[/i:57737fb62f] met de cursortoetsen (up en down). het form is opgebouwd uit TextBoxen en ComboBoxen die run-time geladen worden en recht onderelkaar geplaatst worden (stuk of 40 totaal, dat kan verschillen) Sommige Boxen worden automatisch ingevuld en gelockt. Na opslaan van alle gegevens, mogen sommige Boxen niet meer veranderd worden (dus worden bij [i:57737fb62f]inzien[/i:57737fb62f] ook gelockt). Wat ik wil, is dat ik met de cursortoetsen (up en down) hetzelfde kan doen wat je normaal met tab en shift-tab doet, echter... Er treedt geen enkel Event op, bij de gelockte ComboBoxen, waardoor ik geen Tab kan simuleren. (de gelockte Boxen overslaan, dmv TabStop=False is geen optie, want om de gegevensinvoer te controleren achteraf is het gewenst om ze 1 voor 1 door te kunnen lopen) Weet iemand een truckje om dit toch te kunnen doen. Bedankt voor de moeite! ROB Quote Link naar reactie
anoniem Geplaatst: 24 januari 2003 Auteur Delen Geplaatst: 24 januari 2003 Wat je kunt doen is op het on_key_down event kijken of er op de pijltjes toets geklikt is en dan controleren welk tekstbox de focus heeft en dan laten verspringen. Quote Link naar reactie
anoniem Geplaatst: 24 januari 2003 Auteur Delen Geplaatst: 24 januari 2003 Dat is het hem juist. Er treedt helemaal geen KeyDown event op. Ook niet van het Form zelf. Quote Link naar reactie
anoniem Geplaatst: 24 januari 2003 Auteur Delen Geplaatst: 24 januari 2003 Dan heb je waarschijnlijk iets niet goed staan, want een pijltjestoets geeft zeker wel een event. Mischien in je formulier eigenschappek Key Preview niet aan staan :? Quote Link naar reactie
anoniem Geplaatst: 24 januari 2003 Auteur Delen Geplaatst: 24 januari 2003 Wat Rob zegt klopt. Er zal geen Key_Down event optreden. De reden is volkomen logisch. Niet iedereen wil overal de muis voor gebruiken en daarom is het mogelijk om met de pijltjestoetsen door de ListItems heen te scrollen. Een ander voorbeeld is dat je op letters kunt drukken om zo naar hogere of lagere items te scrollen zonder dat je moet zoeken met je muis. Lees de remarks van het KeyDown events maar eens in de MSDN Help. Daar staat 3 knoppen die buiten het event vallen: Tab, Enter in het geval van een Default Button en Escape in het geval van een Cancel Button. Laat dat nu net de toetsen zijn waar jou applicatie wel op zal reageren ... Het 'gedrag' dat jij in je programma wilt stoppen, gaat in tegen het ontwerp van de combobox en andere lijstgeorienteerde controls. Bij andere controls waar je niet door lijsten hoeft te scrollen zoals buttons, zul je zien dat het pijltje omlaag automatisch werkt en dat je helemaal geen Tab hoeft te simuleren. Het is niet het antwoord waar je op zit te wachten, maar ik denk dat je a) het plan moet vergeten en gewoon op tab moet drukken, of b) je user interface veranderen en minder comboboxes te gebruiken (je zegt tenslotte dat een aantal van dingen automatisch ingevuld worden en vervolgens toch niet meer gewijzigd) Quote Link naar reactie
anoniem Geplaatst: 25 januari 2003 Auteur Delen Geplaatst: 25 januari 2003 Ik kan er niet meer of minder boxen van maken, het scherm wordt run-time opgebouwd adhv allerlei afspraken die landelijk zijn vastgelegd en die kunnen per organisatie verschillen. Dus kies je een andere organisatie, krijg je weer een hele andere samenstelling van boxen. Het 'gevoel' dat ik er in wil leggen komt voort uit andere applicaties (van collega) die naast deze draaien (de mensen zijn eraan gewend). Echter, bij de andere applicaties wordt simpelweg Tabstop=False gezet op comboboxen omdat er toch maar een paar zijn. [b:9ada50338c]Zijn er geen API's voor dit soort doeleinden?[/b:9ada50338c] Quote Link naar reactie
anoniem Geplaatst: 9 februari 2003 Auteur Delen Geplaatst: 9 februari 2003 > Er treedt geen enkel Event op, bij de gelockte ComboBoxen, waardoor ik geen Tab kan simuleren. (de gelockte Boxen overslaan, dmv TabStop=False is geen optie, want om de gegevensinvoer te controleren achteraf is het gewenst om ze 1 voor 1 door te kunnen lopen) Je kunt VOORDAT je naar een volgend control gaat, kijken of dat gelocked is, en het vervolgens overslaan. Zo ondervang je het feit dat gelockte controls geen key events meer genereren. Bij het nakijken van je form gebruik je de Controls collectie (zie VB help bestand) om alle controls te checken, b.v. via if Controls(n).Type is Textbox Then .... of via If Controls(n).Name = "...." Then of via b.v. het Tag property waarin je iets zet dat je in deze routine kunt gebruiken om de juiste controls eruit te halen, enzovoort. Succes! Dennis Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen