IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++/CLI Discussion :

C++/CLI r�cup�rer les donn�es d'une textBox


Sujet :

C++/CLI

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    243
    D�tails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 243
    Par d�faut C++/CLI r�cup�rer les donn�es d'une textBox
    Bonjour,

    Je butte sur un truc qui, je pense, doit �tre ultra simple.

    J'ai une forme avec des dizaines de textBoxes qui servent � faire de la saisie de donn�es.

    Je veux ne saisir les donn�es qu'au moment o� l'utilisateur presse la touche "Entr�e" ou clique sur une autre textBox ...

    J'arrive facilement � faire l'un ou l'autre (mais pas les deux!!) en utilisant soit l'�v�nement KeyUp et en testant que c'est la touche "Entr�e" qui a �t� utilis�e, soit en utilisant l'�v�nement "Leave" quand l'utilisateur clique dans un autre champ..

    Vu qu'� chaque textBox est associ� un bout de code sp�cifique, je ne veux pas dupliquer ce code dans 2 �v�nements ...

    N'y a t-il une mani�re de dire que la touche "Entr�e" �quivaut � "Leave" ou un truc de ce genre?

    Je suis s�r qu'il y a une solution b�te pour faire �a ... Mais je ne trouve pas.

    Bonne soir�e

  2. #2
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 504
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 504
    Par d�faut
    C'est quoi comme formulaire ?
    Un formulaire simple, non modal, ou une boite de dialogue ?
    Quelle technologies ?

  3. #3
    Membre �clair�
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    243
    D�tails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 243
    Par d�faut
    Bonjour,

    C'est une Form simple faite avec Visual ..

    Elle contient une dizaine d'onglets et dans ces onglets il y a une flop�e de textBoxes dans lesquelles l'utilisateur peut changer des valeurs.

    Disons que cela ressemble plus ou moins � une page Excel.

    J'ai 2 versions :
    - une o� on presse "enter" pour valider
    - une o� on clique dans un autre champ pour valider

    J'aimerais juste une version o� les 2 fonctionnent ..

    Je me suis amus� � mettre 2 �v�nements sur une textBox (keyup et leave) of course �a marche mais s'il faut faire �a sur chaque textBox �ele devient lourdingue.

    Je pense qu'on doit pouvoir faire plus simple.

    Bonne journ�e

  4. #4
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 504
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 504
    Par d�faut
    "Form simple faite avec Visual ", il y a au moins 5 ou 6 mani�res de faire un formulaire en VC++, sans compter la mani�re d'afficher ce formulaire.

    Mais, sur le fond, j'ai du mal � comprendre que le OnLostFocus d'un contr�le ait le m�me comportement qu'une validation de formulaire avec le bouton "Enter".

    L'un devrait ne contr�ler que le contenu du contr�le, l'autre, toutes les valeurs d'un formulaire. L'un devrait mettre en place un feedback visuel sur la validit� d'un contenu, l'autre, autoriser ou interdir la fermeture/sauvegarde des donn�es �dit�es.

    Pour un traitement commun � tous ces contr�les, le plus naturel est la cr�ation d'une classe d�riv�e du contr�le, mais il faut mettre en place toute la m�canique pour mettre en place l'int�gration de la classe d�riv� dans la toolbox de VS. On peut faire Quick and Dirty en faisant un FindAndReplace sur le code g�n�r� par le Designer, mais apr�s cette op�ration, plus de WYSIWIG.

    Comme, pour moi, chaque OnLostFocus devrait �tre sp�cifique car li� aux donn�s du contr�le, je ne vois pas l'int�r�t de ce traitement "standardis�".

    Mais il y a toujours la solution de liste les contr�les d'un formulaire, de les caster en un type recherch� (TestBox par exemple) et d'ajouter le listeneur d'event. A faire apr�s le code g�n�r� par le Designer.

  5. #5
    Membre �clair�
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    243
    D�tails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 243
    Par d�faut
    C'est une forme faite de fa�on la plus simple ...

    J'ai ouvert Visual ... j'ai cr�� une Winform ... J'ai mis un Tabcontrol (onglets) ... Puis des textBox ...

    C'est un vieux programme de l'�poque o� je ne connaissais strictement rien ( j'en connais gu�re plus aujourd'hui! )

    Le programme a grossi en d�sordre et les textBox se sont multipli�es au cours du temps et je n'ai pas envie de tout remettre � plat pour faire plus propre.

    Voici un exemple all�g� d'un �v�nement Leave sur une s�rie de textBox :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    private: System::Void cur_Afficheur_Leave(System::Object^  sender, System::EventArgs^  e) 
    {
       TextBox^ t = safe_cast<TextBox^>(sender);
       int i = t-> TabIndex;
       try
      {
    	double valeur = Convert::ToDouble (t->Text);
    	if (i<100)		volume [i]    = valeur;
    	if (i > 99 && i < 200)	        area [i-100] = valeur;
    	if (i > 199 && i < 300)	
    	{ 
    		wetted_area [i-200] = valeur;
    		Wall_display();
    	}
    	if (i > 299 && i < 400)	wall_mass [i-300] = valeur;
    	if (i > 399 && i < 500)	p_loss [i-400]       = valeur;
    	if (i > 499 && i < 600)	h_coef [i-500]       = valeur;
    	}
    	catch (...)  {}//   reset if wrong value entered
    	Write_data();
    }
    Je peux faire la m�me chose avec l'�v�nement "Enter"

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    private: System::Void cur_Afficheur_KeyUp(System::Object^  sender, System::Windows::Forms::KeyEventArgs^  e) 
    {
            if (e->KeyCode == Keys::Enter)
    	{
    	      TextBox^ t = safe_cast<TextBox^>(sender);
    	       int i = t-> TabIndex;
     
    .
    .
    .
    Ce que j'aimerais faire c'est que les deux �v�nements d�clenchent la m�me chose.

    On fait bien �a quand on utilise les raccourcis clavier du genre presser "Alt + F" au lieu de cliquer sur "Fichier" ..

    Je ne sais pas comment on fait �a, y a t'il deux �v�nements ?

    Bonne journ�e

  6. #6
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 504
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 504
    Par d�faut
    C'est une forme faite de fa�on la plus simple ...

    J'ai ouvert Visual ... j'ai cr�� une Winform ... J'ai mis un Tabcontrol (onglets) ... Puis des textBox ...
    C'est donc une WinForms, pour vous c'est �vident, pas pour nous qui connaissons bien d'autre moyens simple de faire des formulaires.

    Le programme a grossi en d�sordre et les textBox se sont multipli�es au cours du temps et je n'ai pas envie de tout remettre � plat pour faire plus propre.
    Vous voulez mes chaussures de ski alpin pour vous bottez les fesses ?

    Vous faites �a � l'arrache, c'est normal que vous noyez � force de ramer � contre-courant.

    Si vous aviez pris la peine d'architecturer votre application (Document/Vue, MVC, le DP Commande ...), vous n'auriez pas ce type de dilem.

    Comme on ne sait pas o� vous �tes et o� vous voulez vous perdre, on ne peut que vous donnes d'autres cordes pour vous pendre.

    Vous faite en sorte que "cur_Afficheur_KeyUp" appele "cur_Afficheur_Leave".

    Pour le cablage des events, je m'auto-cite :
    Mais il y a toujours la solution de lister les contr�les d'un formulaire, de les caster en un type recherch� (TestBox par exemple) et d'ajouter le listeneur d'event. A faire apr�s le code g�n�r� par le Designer.
    Mais le r�sultat est un truc inf�me sans aucune abstraction.

Discussions similaires

  1. R�ponses: 5
    Dernier message: 07/09/2006, 14h41
  2. r�cup�rer les donn�es d'une fenetre
    Par snoopo dans le forum Interfaces Graphiques en Java
    R�ponses: 5
    Dernier message: 23/06/2006, 17h23
  3. R�ponses: 15
    Dernier message: 20/06/2006, 10h29
  4. R�cup�rer les donn�es apr�s une recherche
    Par cdumas dans le forum Access
    R�ponses: 7
    Dernier message: 04/05/2006, 12h09
  5. R�cup�rer les donn�es d'une iframe
    Par juli1 dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 4
    Dernier message: 09/02/2005, 22h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo