ContextMenu en plus du ContextMenu actuel [Résolu]

Thanos_the_yopper 309 Messages postés vendredi 9 janvier 2004Date d'inscription 5 mars 2009 Dernière intervention - 20 juil. 2004 à 17:09 - Dernière réponse : Thanos_the_yopper 309 Messages postés vendredi 9 janvier 2004Date d'inscription 5 mars 2009 Dernière intervention
- 21 juil. 2004 à 17:10
j'ai des zone de saisie. quand je fais un click droit dessus, ça m'ouvre un menu contextuel (copier, coller, "afficher de gauche a droite", ...). hors, y'a plusieurs option de ce menu que je ne veux pas ("afficher de gauche a droite", "ajouter caractère unicode", ...), d'autre que je veux garder, notament les classiques copiers/coller et en rajouter d'autre.

donc ma question : est-ce possible ? dois-je créer un ContextMenu avec les options que je veux et y rajouter les copier et autre coller ? dans ce cas là, comment rajouter un copier ?

merci d'avance :)

Final Fantasy Memories Venez découvrir les origines d'une saga
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Thanos_the_yopper 309 Messages postés vendredi 9 janvier 2004Date d'inscription 5 mars 2009 Dernière intervention - 21 juil. 2004 à 16:34
3
Merci
y'a des messages qui disparaissent o_O

en tout cas voila ce que ça donne pour refaire le menu du click droit, si certains en ont besoin un jour ^^

this.contextMenuPressePapier.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
this.menuCouper,
this.menuCopier,
this.menuColler,
this.menuSupprimer,
this.menuSeparation,
this.menuSelectionnerTout});
this.menuCouper.Index = 0;
this.menuCouper.Text = "Couper";
this.menuCouper.Click += new EventHandler(this.menuCouper_Click);

this.menuCopier.Index = 1;
this.menuCopier.Text = "Copier";
this.menuCopier.Click += new EventHandler(this.menuCopier_Click);

this.menuColler.Index = 2;
this.menuColler.Text = "Coller";
this.menuColler.Click += new EventHandler(this.menuColler_Click);

this.menuSupprimer.Index = 3;
this.menuSupprimer.Text = "Supprimer";
this.menuSupprimer.Click += new EventHandler(this.menuSupprimer_Click);

this.menuSeparation.Index = 4;
this.menuSeparation.Text = "-";

this.menuSelectionnerTout.Index = 5;
this.menuSelectionnerTout.Text = "Sélectionner tout";
this.menuSelectionnerTout.Click += new EventHandler(this.menuSelectionnerTout_Click);

protected void menuCouper_Click(object sender, System.EventArgs e)
{
MenuItem menuitem = (MenuItem)sender;

TextBox textBox = (TextBox)menuitem.GetContextMenu().SourceControl;
if(textBox.SelectedText != "")
{
Clipboard.SetDataObject(textBox.SelectedText);
textBox.SelectedText = "";
}
}

protected void menuCopier_Click(object sender, System.EventArgs e)
{
MenuItem menuitem = (MenuItem)sender;

TextBox textBox = (TextBox)menuitem.GetContextMenu().SourceControl;
if(textBox.SelectedText != "")
Clipboard.SetDataObject(textBox.SelectedText);
}

protected void menuColler_Click(object sender, System.EventArgs e)
{
IDataObject iData = Clipboard.GetDataObject();
// on regarde si ce qu'il y a dans ls clipboard est bien au format text
MenuItem menuitem = (MenuItem)sender;

if(menuitem.GetContextMenu().SourceControl.GetType().ToString() == "ClientAsap.TextBoxASAP")
{
TextBox textBox = (TextBox)menuitem.GetContextMenu().SourceControl;
textBox.Text = (String)iData.GetData(DataFormats.Text);
}
}

protected void menuSelectionnerTout_Click(object sender, System.EventArgs e)
{
MenuItem menuitem = (MenuItem)sender;

TextBox textBox = (TextBox)menuitem.GetContextMenu().SourceControl;
textBox.SelectAll();
}

protected void menuSupprimer_Click(object sender, System.EventArgs e)
{
MenuItem menuitem = (MenuItem)sender;

TextBox textBox = (TextBox)menuitem.GetContextMenu().SourceControl;
textBox.Text = "";
}


Final Fantasy Memories Venez découvrir les origines d'une saga

Merci Thanos_the_yopper 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de Thanos_the_yopper
Arthenius 1183 Messages postés mercredi 21 janvier 2004Date d'inscription 6 septembre 2011 Dernière intervention - 20 juil. 2004 à 17:29
0
Merci
Copier :

Clipboard.SetDataObject(maZoneACopier);


Coller :

Clipboard.GetDataObject ();


Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
Commenter la réponse de Arthenius
Thanos_the_yopper 309 Messages postés vendredi 9 janvier 2004Date d'inscription 5 mars 2009 Dernière intervention - 21 juil. 2004 à 14:07
0
Merci
merci beaucoup ^___^

et dans le même style, est-ce que tu sais comment refaire la fonction "annuler" et "selectionner tout" de ce meme menu ? :)
Commenter la réponse de Thanos_the_yopper
Arthenius 1183 Messages postés mercredi 21 janvier 2004Date d'inscription 6 septembre 2011 Dernière intervention - 21 juil. 2004 à 14:20
0
Merci
sur un textbox y a la propriété SelectAll()....
tu passe en argument le textbox sur lequel tu te trouve et tu fais un Textbox.selectall()

pour l'annuler ?????????

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
Commenter la réponse de Arthenius
Arthenius 1183 Messages postés mercredi 21 janvier 2004Date d'inscription 6 septembre 2011 Dernière intervention - 21 juil. 2004 à 16:48
0
Merci
mouais y a des trucs bizares c temps si sur code sources :o)))

le spectre du bug plane -t-il........

:o)

@+

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
Commenter la réponse de Arthenius
Thanos_the_yopper 309 Messages postés vendredi 9 janvier 2004Date d'inscription 5 mars 2009 Dernière intervention - 21 juil. 2004 à 16:52
0
Merci
ouais, c'est claire que ça a du mal en ce moment :/

bon, je me suis planté dans une de mes fonction là haut, donc il faut la remplacer par celle la :

protected void menuColler_Click(object sender, System.EventArgs e)
{
IDataObject iData = Clipboard.GetDataObject();
// on regarde si ce qu'il y a dans ls clipboard est bien au format text
if(iData.GetDataPresent(DataFormats.Text)) 
{
MenuItem menuitem = (MenuItem)sender;

TextBox textBox = (TextBox)menuitem.GetContextMenu().SourceControl;
textBox.Focus();
textBox.Text = (String)iData.GetData(DataFormats.Text);

}
}


Final Fantasy Memories Venez découvrir les origines d'une saga
Commenter la réponse de Thanos_the_yopper
Thanos_the_yopper 309 Messages postés vendredi 9 janvier 2004Date d'inscription 5 mars 2009 Dernière intervention - 21 juil. 2004 à 17:10
0
Merci
hummm .... c'est pas encore ca ... voila la bonne version a prendre ;)

protected void menuColler_Click(object sender, System.EventArgs e)
{
IDataObject iData = Clipboard.GetDataObject();
// on regarde si ce qu'il y a dans ls clipboard est bien au format text
if(iData.GetDataPresent(DataFormats.Text)) 
{
MenuItem menuitem = (MenuItem)sender;

TextBox textBox = (TextBox)menuitem.GetContextMenu().SourceControl;
textBox.Focus();
string texte = (String)iData.GetData(DataFormats.Text);
if(texte.Length > textBox.MaxLength)
texte = texte.Substring(0, textBox.MaxLength);
textBox.Text = texte;

}
}


j'ai rajouter un controle pour pas que ce qu'on colle soit plus grand que la MaxLenght de la textbox ....

je crois que je vais faire une source quand j'aurais 5 minutes ! parce que ça deviend le bordel la lol

par contre, y'a un truc que je sais pas, c'est comment faire pour insérer du texte copier exactement la ou il y a le focus, comme un vrai copier coller quoi (genre je copie "wééé" et si le focus est entre le o et le u de "pouet" que ca donne "powéééuet" par exemple) ;) quelqu'un saurait faire ça ?

Final Fantasy Memories Venez découvrir les origines d'une saga
Commenter la réponse de Thanos_the_yopper

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.