ContextMenu en plus du ContextMenu actuel

Résolu
Thanos_the_yopper Messages postés 309 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 5 mars 2009 - 20 juil. 2004 à 17:09
Thanos_the_yopper Messages postés 309 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 5 mars 2009 - 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

7 réponses

Thanos_the_yopper Messages postés 309 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 5 mars 2009
21 juil. 2004 à 16:34
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
3
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
20 juil. 2004 à 17:29
Copier :

Clipboard.SetDataObject(maZoneACopier);


Coller :

Clipboard.GetDataObject ();


Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
0
Thanos_the_yopper Messages postés 309 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 5 mars 2009
21 juil. 2004 à 14:07
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 ? :)
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
21 juil. 2004 à 14:20
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..."
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
21 juil. 2004 à 16:48
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..."
0
Thanos_the_yopper Messages postés 309 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 5 mars 2009
21 juil. 2004 à 16:52
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
0
Thanos_the_yopper Messages postés 309 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 5 mars 2009
21 juil. 2004 à 17:10
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
0
Rejoignez-nous