Probleme de focus

cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 - 31 mai 2006 à 14:29
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 - 31 mai 2006 à 19:22
bonjour,
j'ai un formulaire qui lance un autre formulaire (composé uniquement de labels).
Je ne veux pas que le premier formulaire disparaisse, je veux ke le second apparaisse dessus.
J'aimerais que celui ci ne soit pas deplacable mais possede quand meme le bouton qui permet de le fermer.
J'aimerais que quand le nvo formulaire soit ouvert il ai le focus ( en fait je veux ke le premier label de ce formulaire ai le focus)
J'iamerais egalement que lorsqu'on appuie sur les fleches haut et bas au clavier on puisse se deplacer sur les labels.
J'ai essayer nvo_form.Show(); nvo_form.Focus() et nvo_form.Activate() mais celui ci semble toujours ne pas prendre le focus

merci

4 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
31 mai 2006 à 14:43
Salut,
Tu peux ouvrir le formulaire avec un ShowDialogu (pour qu'il ne soit pas déplaçable, je ne pourrais pas te dire dans l'immédiat).
Dans le FormLoad tu fais un monLabel.Select()
Pour que le focus change lorsqu'on presse les touches de direction, il faut t'abonner aux évenements de ta form (KeyPressed...).

<hr size= "2" /> VC# forever
=13319
0
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 2
31 mai 2006 à 14:51
Showdialog "supprime" l'autre formualire et ce n'est pas ce que je veux.


Mes labels osnt créés dynamiquement (c un formulaire different a chaque fois selon les menus) et je voudrais juste qu'en appuyant sur la fleche bas on va sur le suivant et haut sur le precedant.
Il me semble qu'avec une liste une fois cela ct fait preque automatiquement mamis je en retrouve plus le code.

J'ai egalement un probleme avec les mouse enter et leave
quand j'entre ds un label il se colore differemment
des fois lorsqu'on quitte le label il ne redevient pas comme avant et plusieurs labels restent colorés
alors que g bien implementer mouseenter et mouseleave
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
31 mai 2006 à 19:15
C'est un peu compliqué tout ça, on parle de 1000 problèmes en même temps.

Pour faire apparaître un formulaire et garder disponible celui en cours, tu peux utiliser la méthode Show au lieu de ShowDialog. Pour faire qu'il ne soit pas "bougeable", je ne sais pas trop, mais je trouve que c'est pas très utile de faire ça ?!

Pour sélectioner un Control, tu appelles ça méthode Select(), comme je l'ai mis dans mon 1er post. Si tes Controls sont crées dynamiquement, alors tu peux les retrouver on regardant la collection de Control de ta form (this.Controls)

<hr size= "2" /> VC# forever
=13319
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
31 mai 2006 à 19:22
Pour le problème de la touche, tu t'abonnes à l'event KeyDown. Tu peux faire qqch comme ceci :

private
void frmMain_KeyDown(
object sender,
KeyEventArgs e)
{
  
if (e.KeyCode = =
Keys.Down)
   {
      myControl.Select(); // Vérifier que tu prends le suivant
   }
}

Sinon pour les problèmes de MouseLeave, MouseEnter, faut que tu mettes un peu plus de code et que tu donnes plus d'explications.

<hr size="2" /> VC# forever
=13319
0
Rejoignez-nous