Pour une zone de texte, je souhaite afficher une info-bulle immédiatement lorsque l'accent est mis sur la zone de texte et y restez pendant la durée de la mise au point - non seulement lorsque la souris planant sur la zone de texte. P>
p>
Comment puis-je faire ça? P>
5 Réponses :
Utilisez un système.windows.forms.tooltip et montrez-le dans la zone de texte void textBox_GotFocus(object sender, EventArgs e)
{
toolTip.Show("your tip", textBox);
}
void textBox_LostFocus(object sender, EventArgs e)
{
toolTip.Hide(textBox);
}
Des idées Pourquoi ces événements n'apparaissent pas dans le volet Visual Studio Propriétés lorsque Entrez CODE> et
Laissez CODE> DO?
constructeur public () {txturl.forecolor = color.gray; txturl.gotfocus + = txturl_gotfocus; txturl.lostfocus + = txturl_lostfocus; } Void privé txturl_gotfocus (expéditeur d'objet, eventargs e) {txturl.text = ""; txturl.forecolor = color.black; } Void privé txturl_lostfocus (expéditeur d'objet, eventargs e) {if (string.isnullorwhitepace (txturl.text)) txturl.forecolor = color.gray; }
Le Entrez code> et
laissez des événements code> sont probablement utiles ici et montrez-le avec une durée de 0 pour le garder là-bas.
private ToolTip tt;
private void textBox1_Enter(object sender, EventArgs e) {
tt = new ToolTip();
tt.InitialDelay = 0;
tt.IsBalloon = true;
tt.Show(string.Empty, textBox1);
tt.Show("I need help", textBox1, 0);
}
private void textBox1_Leave(object sender, EventArgs e) {
tt.Dispose();
}
Je recommanderais de vérifier si TT est NULL dans l'événement de congé. Il y a peut-être des instances où l'événement Entrée n'est pas déclenché et vous obtiendrez une erreur de référence null sur l'événement de congé.
a testé, les noms d'événement:
private void textbox_Enter(object sender, EventArgs e) { toolTip1.Show("your tip here", textbox); } private void textbox_Leave(object sender, EventArgs e) { toolTip1.Hide(textbox); }
Utilisation de Mouse Hover Code> et
Souris Laissez CODE> Événements
private void textBox1_MouseHover(object sender, EventArgs e)
{
toolTip1.Show("your tip here", textBox2);
}
private void textBox1_MouseLeave(object sender, EventArgs e)
{
toolTip1.Hide(textBox2);
}
Formulaires Windows p>
xxx pré> blockQuote>