begin process at 2010 02 09 22:33:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Windows

 > 

Formulaire / Winforms / Controls

 > 

C#: le control suivant dans un paneau


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

C#: le control suivant dans un paneau

samedi 18 avril 2009 à 18:11:17 | C#: le control suivant dans un paneau

sympatie0

Bonjour,
Dans le cadre d'un TP j'ai une matrice representé par plusieurs TextBox alignés dans un tableLayoutPanel afin de facilité la saisie de la matrice par le clavier en appuyant sur la touche fleche -> le controle suivant ai le focus MAIS je ne sais pas comment avoir la position du textbox qui a le focus dans le tableLayoutPanel pour l'attribuer au textbox suivant.

Merci d'avance.

PS: je cherche uniquement à avoir la position du controle dans le paneaux càd le num de la ligne et de la colonne.
samedi 18 avril 2009 à 19:38:20 | Re : C#: le control suivant dans un paneau

coq

Administrateur CodeS-SourceS
Bonjour,

La méthode GetCellPosition disponible sur la classe TableLayoutPanel te donnera celà.



/*
coq
MVP Visual C#
CoqBlog
*/
samedi 18 avril 2009 à 22:09:32 | Re : C#: le control suivant dans un paneau

sympatie0

Merci coq ^^ mais je programme ça dans la procedure de l'evenement KeyDown alors que je n'ai que l'event E et l'objet sender comme parametre, je voudrais juste savoir quel est le textbox sur le quel l'utilisateur a appuié la touche fleche pour pouvoir utiliser GetCellPosition ou bien GetPositionFromControl

Thanks :D
samedi 18 avril 2009 à 22:24:26 | Re : C#: le control suivant dans un paneau

coq

Administrateur CodeS-SourceS
Ha, je n'avais pas compris la question dans ce sens là.

Quand tu parles de l'event KeyDown, tu parles de celui de chaque TextBox que tu as lié à un seul gestionnaire d'évènement ?
Si c'est bien le cas, il te suffit d'utiliser sender : il s'agit du contrôle ayant levé l'évènement.


/*
coq
MVP Visual C#
CoqBlog
*/
samedi 18 avril 2009 à 23:47:26 | Re : C#: le control suivant dans un paneau

sympatie0

Oui c bien ça  chaque textBox est lié à l'evennement keyDown ^^ et j'ai pas su utilisé sender.

Eh comment faire ça?! svp

dimanche 19 avril 2009 à 00:01:43 | Re : C#: le control suivant dans un paneau

coq

Administrateur CodeS-SourceS
Réponse acceptée !
En effectuant un cast de la référence obtenue via le paramètre sender vers le type attendu :

if ( sender == null )
{
  // TODO : gérer l'erreur, référence nulle inattendue
}
else
{
  // Tentative de cast
  TextBox txtBox = sender as TextBox;

  if ( txtBox == null )
  {
    // TODO : gérer l'erreur, type inattendu
  }
  else
  {
    // TODO : effectuer les validations complémentaires
    // Plus qu'à coder le reste
  }
}


/*
coq
MVP Visual C#
CoqBlog
*/
dimanche 19 avril 2009 à 00:02:49 | Re : C#: le control suivant dans un paneau

WishhhMaster

Salut,

Tu peux faire comme ça
TextBox txt = sender as TextBox;
ou comme ça
TextBox txt = (TextBox)sender;
dimanche 19 avril 2009 à 09:27:13 | Re : C#: le control suivant dans un paneau

Tilois

Si le but est simplement de passer d'un controle a un autre, pourquoi ne pas simplement mettre correctement les taibindex sur les textbox et ensuite passer au suivant (avec l'evenement keydown) en invoquant la méthode Control.SelectNextControl ? http://msdn.microsoft.com/en-us/library/system.windows.forms.control.selectnextcontrol.aspx
dimanche 19 avril 2009 à 21:20:53 | Re : C#: le control suivant dans un paneau

sympatie0

Merci merci à tous de votre aide, ça marche bien ^^
lundi 20 avril 2009 à 10:49:16 | Re : C#: le control suivant dans un paneau

krimog

Salut

"Tu peux faire comme ça
TextBox txt = sender as TextBox;
ou comme ça
TextBox txt = (TextBox)sender;"


Je crois que "as" est plus rapide que le cast (type).
Cependant, la grosse différence est lors de l'échec :
si, dans les deux exemples, le sender ne peut pas être converti en TextBox,

dans le premier exemple, txt sera null,
dans le deuxième exemple, une exception sera levée.

Krimog : while (!(succeed = try())) ;
- Quand le règlement tu respecteras, ravis de te répondre on sera -


Cette discussion est classée dans : textbox, control, matrice, tablelayoutpanel, paneau


Répondre à ce message

Sujets en rapport avec ce message

Comparaer des type de control [ par Shakta ] Bonjour a tous ,j'ai deux question, ou je galere:J'ai une winForm qui est composer de textBox , radiobutton et checkbox. Tous cela en c#1. Je voudrais Création d'une propriété pour un control herité des textbox [ par Arthenius ] Hello tout le monde.Je cherche et je tourne en rond donc je pose ma question :Je souhaite créer mon propre TextBox avec mes propriétés et tout et tout [C#]Séléction dans un contrôle [ par cedkat ] Bonjour,Jn voudrais savoir coment sélectionner le contenu d'un control (textbox, numéricupdown, ect) lorsque que je clique sur le control.J'ai essayer événement click sur control [ par citt ] Bonjour,Par code je crée 2 textbox et un bouton et l'evenement click sur le bouton.Mon probleme est que dans l'evenement click je veut recuperer les v TextBox / NumericUpDown [ par Bidou ] Bonjour, J'ai créée une méthode récursive qui me premets de prendre tous les controls d'un sous control et d'y faire une certaine opération. En l'occu Créer un control textBox avancé. [ par stormz23 ] Bonjour.Je suis en train de travailler sur un projet asp.net en C#, framework 1.1. J'aimerai créer un control qui hérite du control TextBox et qui gén "Anchor" un Control a une GraphicsPath. [ par D0X ] Salut! J'ai une "bizzarre" question: j'ai un UserControl et dans ce control j'ai une Textbox. Ce UserControl peut étre redimensionnée et on a la "Anc Tableau de control [ par survcopt ] Bonjour, Je voudrais faire un tableau de control , textbox par exemple. Quelle est la démarche? J'ai 12 textbox que je voudrais contrôler et mettre à empecher redimensionnent en hauteur [ par jokary64 ] bonjour, Je voudrais refaire une textbox (pour y ajouter du controle de saisie, etc..). Pour cela j'ai créer un usercontrol et coller une textBox à Enlever le focus a un control [ par blundle ] Bonjour,je devellope une application de gestion de contact / clientele d'une banque.Et je tatonne depuis quelque temps sur ce probleme :Voila je dispo


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales