ToolTip d'erreur genre "un nom de fichier ne peut contenir tel caractère"
brixi69
Messages postés44Date d'inscriptionmardi 13 juin 2006StatutMembreDernière intervention31 mars 2008
-
6 sept. 2007 à 13:41
Neo020585
Messages postés178Date d'inscriptionlundi 10 mars 2003StatutMembreDernière intervention 6 juillet 2009
-
10 sept. 2007 à 14:48
Bonjour !
Je cherche à interdire dans un datagridview l'écriture de certains caractères comme lorsqu'on veut changer un nom de fichier sous windows XP et que l'on tente d'utiliser les caractères "? / \ : *<>|
J'aimerais ne pas prendre en compte l'appui de la touche et afficher un toolTip d'erreur indiquant le probleme dans la cellule concernée.
Seulement voilà je ne parviens pas à trouver l'évenement qui réagirait à chaque appui d'une touche lors du changement de contenu dans une cellule (keydown ou keypress ne fonctionnent pas).
Je ne parviens ensuite pas à faire apparaitre ou disparaitre manuellement un tooltip.
Si quelqu'un sait me consacer quelques minutes ce serait bien gentil...
merci et @ bientôt
@"#+++
A voir également:
ToolTip d'erreur genre "un nom de fichier ne peut contenir tel caractère"
cs_wizad
Messages postés355Date d'inscriptionsamedi 30 octobre 2004StatutMembreDernière intervention14 avril 2009 6 sept. 2007 à 22:56
Comment ça KeyPress ne fonctionne pas?
Voici un exemple d'utilisation pour intercepter la touche [Entrée]
private void TextBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 13) // Le code de la/les touche(s) à traiter
{
e.Handled = true; // Indique que l'évenement à été intercepté et ne doit pas être traité par le système
}
}
brixi69
Messages postés44Date d'inscriptionmardi 13 juin 2006StatutMembreDernière intervention31 mars 2008 10 sept. 2007 à 11:50
Salut ! et merci pour ta réponse.
Effectivement pour un textbox ca marche très bien mais dans mon cas j'utilise un dataGridView et une edition cellule par cellule et là j'ai des problèmes.
Personne ne sait comment faire apparaitre ou disparaitre manuellement un tooltip ?
brixi69
Messages postés44Date d'inscriptionmardi 13 juin 2006StatutMembreDernière intervention31 mars 2008 10 sept. 2007 à 13:21
Je ne sais toujours pas utiliser les tooltips ! :-(
per contre, pour le keypress, apparement le probleme est maitrisé. Cela est lié au fait que le type d'objet contenu dans la cellule n'est pas connu à la base si j'ai bien compris.
Quoiqu'il en soit voici l'alternative utilisée: lors d'une édition de cellule j'utilise la cellule en tant que TextBox et puis je crée l'évenement KeyPress pour celle-ci, lequel peut alors être utilisé très facilement.
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
DataGridViewTextBoxEditingControl ctrl= (DataGridViewTextBoxEditingControl)e.Control;
ctrl.KeyPress -= new KeyPressEventHandler(ctrl_KeyPress);
ctrl.KeyPress += new KeyPressEventHandler(ctrl_KeyPress);
}
private void ctrl_KeyPress(object sender, KeyPressEventArgs e)
{
//e.KeyChar pour conaitre le caractère tapé
//e.handled pour accepter ou non le caractère tapé
}
@"#+++
Vous n’avez pas trouvé la réponse que vous recherchez ?
Neo020585
Messages postés178Date d'inscriptionlundi 10 mars 2003StatutMembreDernière intervention 6 juillet 20094 10 sept. 2007 à 14:48
Dans ta gestion de l'évenement :
ToolTip tp = new ToolTip();
// 2000 représente le temps d'affichage (ms)
tp.Show("ton_message", ton_controle, 2000);
Par exempletp.Show("Coucou", dataGridView1, 10000) affichera un tooltip avec le texte Coucou pendant 10 secondes sur ton contrôle datagrid.
"Une chose me laisse perplexe : Est-ce moi ou les autres qui sont fous ?" A. Einstein
<!--