Laden...

ToolTip + TextBox

Erstellt von punkdevil vor 17 Jahren Letzter Beitrag vor 17 Jahren 3.933 Views
P
punkdevil Themenstarter:in
992 Beiträge seit 2007
vor 17 Jahren
ToolTip + TextBox

Hallo,

ich habe ein Problem mit ToolTip.

Ich habe einen Button. Darin liegt eine TextBox. Nun möchte ich, wenn etwas falsches in die TextBox eingetragen wird, einen ToolTip anzeigen. Das klappt aber nur, wenn man sich mit dem Mauscursor nicht innerhalb des Buttons befindet.

Den ToolTip lasse ich folgendermaßen anzeigen:

fnodeInfo.toolTip.Show("Text", this, 3000);

fnodeInfo ist ein Form, this ist ein Button, in dem einen Textbox liegt.

Woran könnte es liegen, das wenn ich mich mit der Maus in dem Button befinde kein ToolTip angezeigt wird?

P
punkdevil Themenstarter:in
992 Beiträge seit 2007
vor 17 Jahren

Ich denke, es könnte daran liegen, dass ein ToolTip ja generell verschwindet, wenn man mit der Maus darüber fährt.

Kann man dieses Verhalten ändern?

T
10 Beiträge seit 2007
vor 17 Jahren

Bei solchen Sachen bin ich eher brutal und verwende eine MessageBox.

MessageBox.Show("Text", MessageBoxButtons.OK, MessageBoxIcon.Error);

Da du ja anscheinend eine Überprüfung während der Eingabe hast, kannst du somit gleich verhindern, dass ungültige Zeichen eingetippt werden können.
d.h. mit der MassageBox hinweisen, dass das Zeichen 'X' nicht erlaubt ist.


Coitus ergo sum!

738 Beiträge seit 2007
vor 17 Jahren

@ TCUhimself:

.....MassageBox ....

immer wider lustig, die Massage Box 😁 😁

@punkdevil

natürlich könntest du den Mauszeigen solange verschieben, bis er nicht mehr über der entsprechenden stelle ist mit Cursor.Position = ....
aber das ist eher eine nervige angelegenheit, also am besten wirklich eine MessageBox (oder schon im KeyDown Event, wenn du bestimmte Buchstaben, Ziffern, etc,... ausschließen willst.)

K
71 Beiträge seit 2005
vor 17 Jahren

Hallo

Warum nicht den ErrorProvider verwenden?
Bietet sich doch hier an.

Gruss

P
punkdevil Themenstarter:in
992 Beiträge seit 2007
vor 17 Jahren

@TCUhimself: Ich hatte rest ne MessageBox, aber das ist nervig, da diese ja immer vom Nutzer geschlossen werden muss.

@nin: Im KeyDown könnte ich es machen, aber ich möchte dem Nutzer mitteilen, warum diese Eingabe nicht gültig ist.

@Fellmer Lloyd: ErrorProvider kenne ich noch nicht, aber ich werde es mir mal ansehen.

T
10 Beiträge seit 2007
vor 17 Jahren

Was auch gerne verwendet wird, ist oberhalb einer Eingabe, ein Text mit einem Label in roter Farbe, falls bei der Eingabe etwas ungültig sein sollte.
Im InitializeComponent hat dieses Label keinen Text und ForeColor ist z.B. "Red" (System.Drawing.Color.Red);

this.InvalidDataLabel.Text = "Text";

Coitus ergo sum!

5.742 Beiträge seit 2007
vor 17 Jahren

Original von TCUhimself
Was auch gerne verwendet wird, ist oberhalb einer Eingabe, ein Text mit einem Label in roter Farbe, falls bei der Eingabe etwas ungültig sein sollte.
Im InitializeComponent hat dieses Label keinen Text und ForeColor ist z.B. "Red" (System.Drawing.Color.Red);

this.InvalidDataLabel.Text = "Text";  

Da ist aber der Error Provider deutlich eleganter.
Am besten wirkt dieser, wenn man zusätzlich noch einen Systemsound abspielt.