Copier, Coller, Couper [Résolu]

Signaler
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
-
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
-
Bonjour à tous,



J'ai une form avec un menu edition avec dedans les trucs classiques,
copier, coller, couper. Et sur ma form j'ai plusieurs textbox.



Je sais que pour copier le contenu de la séléction d'un textbox dans la presse papier il faut faire :



montextbox.Copy() ;



Sauf que là j'ai moult textboxs, comment faire pour savoir quel est le bon ?



Par avance, merci.

20 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
Salut,

En regardant lequel des TextBox à sa propriété Focused à true :-)

/*
coq
MVP Visual C#
*/
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
voire :

taForm.ActiveControl.Copy()

Sébastien FERRAND
[MVP C#]
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
biensur, il faut vérifier que le controle actif est un textbox ou combox...

Sébastien FERRAND
[MVP C#]
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
en gros, TextBoxBase.Copy() fait ceci :

base.SendMessage(0x301, 0, 0);

où biensur 0x301 = WM_COPY

Sébastien FERRAND
[MVP C#]
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
ah ok... je pensais c'était un menu :)

Sébastien FERRAND
[MVP C#]
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
Donc il faudrais que tu mémorises le contrôle qui avait le focus précédemment.

/*
coq
MVP Visual C#
*/
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
Justement non, ce n'est pas le cas avec un menu :-)

/*
coq
MVP Visual C#
*/
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
2
et si je fais :


SendKeys.Send("^C") ; pour le bouton copier est ce que ca te parait judicieux ? sachant que j'ai pas reussi a le faire marcher mais dans l'idée c'est de laisser windows s'en charger, qu'en penses tu ?
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
2
taForm.ActiveControl. y'a pas copy mais si jamais le controle actif ne possède pas de propriété copy est ce que ca risque pas de poser des problèmes ?
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
donc, un bout de code :

Control c = taForm.ActiveControl();
if (c is TextBoxBase) {
(TextBoxBase)c.Copy();
}

/// marche aussi pour Paste, Cut, Undo, ClearUndo

Sébastien FERRAND
[MVP C#]
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
2
ah ok mais comment tu fais pour verifier et mon histoire de sendkeys ca te parait bien , parceque ca risque de poser des problèmes si dans le presse papier y'a une image ou un truc qui n'est pas du texte....
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
2
ok, merci de ta réponse
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
mais de rien :)

Sébastien FERRAND
[MVP C#]
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
J'avais complètement oublier ActiveControl ^^

Control c = taForm.ActiveControl(); // tssssss ;-)

/*
coq
MVP Visual C#
*/
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
euh... ActiveControl est une propriété Coq

donc pas besoin de parenthèses

Sébastien FERRAND
[MVP C#]
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
ooops... honte sur moi

Control c = taForm.ActiveControl;
if (c is TextBoxBase) {
(TextBoxBase)c.Copy();
}

Sébastien FERRAND
[MVP C#]
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
2
J'ai pas réusssi en faite parceque quand j'appuis sur le bouton pour copier mon textbox c'est le bouton qui devient actif donc forcement le control est toujours de type bouton.... ce qui fait que le c.Copy n'arrive jamais.....
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
2
ok ,merci de vos réponses
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
2
Oui à terme ca sera un menu mais quand je cliquerais dessus le type sera menu je sais pas si ca changera le problème en faite
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
2
ah ok, donc ca marche cette solution alors