472,958 Members | 1,755 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,958 software developers and data experts.

Re: .NET GUI Quirks - By Design?

Shalom Shachne <sh***********@gmail.comwrote:
Family Tree Mike <FamilyTreeM...@discussions.microsoft.comwrote:
"shalomshac...@gmail.com" wrote:
Hi -
-snip-
1. Tooltips: Autopop property has hidden undocumented limit.
No matter how high you set the value, tool tip will disappear
after around 30 seconds. Does that make sense? Also, once
Autopop time has expired, returning mouse over control does not
redisplay the tool tip.
-snip-
1. I cannot imagine wanting a tooltip to stay lit for that long,
but apparently the way to do this is with the StopTimer method. It
is protected so you need to create your own "InfiniteToolTip" class
that inherits from ToolTip.

-- to my thinking, Tooltip should be able to stay visible as long as
user hovers over the area. Hover over something in Visual Studio.
You will see that the Tooltip never disappears. I think that's what
users expect. If you have very short text, however, I agree there is
no need to make it always visible.
I don't know -- I'd be of two minds about it, one that makes sense, and
two, it might be annoying to have a tooltip hiding something else
because the mouse is over a control.
But the main issue, is that if you hover over the area until ToolTip
disappears, you'll never see that ToolTip again (Try it.). Can you
explain why that makes sense?
Sorta...

If you move the mouse over another control and then back over the one
that is no longer displaying, it will reappear.

So, I'd guess the logic was that if it's been displayed long enough to
be hidden, then the user will remember it -- at least until after
they've needed to be told about something else.
I did create my own ToolTip subclass. Just seems wasteful to need to
do that.
Yeah. I'd expect the property that controls how long it will display,
to display it that long...

--
J.B. Moreno
Jul 3 '08 #1
3 1589
On Jul 3, 12:06 am, "J.B. Moreno" <pl...@newsreaders.comwrote:
Shalom Shachne <shalomshac...@gmail.comwrote:
Family Tree Mike <FamilyTreeM...@discussions.microsoft.comwrote:
"shalomshac...@gmail.com" wrote:
Hi -
-snip-
1. Tooltips: Autopop property has hidden undocumented limit.
No matter how high you set the value, tool tip will disappear
after around 30 seconds. Does that make sense? Also, once
Autopop time has expired, returning mouse over control does not
redisplay the tool tip.
-snip-
1. I cannot imagine wanting a tooltip to stay lit for that long,
but apparently the way to do this is with the StopTimer method. It
is protected so you need to create your own "InfiniteToolTip" class
that inherits from ToolTip.
-- to my thinking, Tooltip should be able to stay visible as long as
user hovers over the area. Hover over something in Visual Studio.
You will see that the Tooltip never disappears. I think that's what
users expect. If you have very short text, however, I agree there is
no need to make it always visible.

I don't know -- I'd be of two minds about it, one that makes sense, and
two, it might be annoying to have a tooltip hiding something else
because the mouse is over a control.
But the main issue, is that if you hover over the area until ToolTip
disappears, you'll never see that ToolTip again (Try it.). Can you
explain why that makes sense?

Sorta...

If you move the mouse over another control and then back over the one
that is no longer displaying, it will reappear.

So, I'd guess the logic was that if it's been displayed long enough to
be hidden, then the user will remember it -- at least until after
they've needed to be told about something else.
I did create my own ToolTip subclass. Just seems wasteful to need to
do that.

Yeah. I'd expect the property that controls how long it will display,
to display it that long...

--
J.B. Moreno
Responding to this point:
So, I'd guess the logic was that if it's been displayed long enough to
be hidden, then the user will remember it -- at least until after
they've needed to be told about something else.
Here's the thing, if that were actually true, then it would be fine.
But the tool tip will NEVER reappear, ever again, no matter what you
do after it disapears (except if you restart the app.) Try it:

1. Create a form with 2 buttons.
2. Put a tool tip on both buttons.
3. Hover over button1 until tool tip disappears.
4. Hover over button2 - and then hover over button1 again. You won't
see the tool tip. and there's nothing you can do to bring it back.
Nothing....

:)
(I'd post the test form I made, but I don't see any way to attach
files to a post...)

What's funny is the how many responses I've seen to this where people
tell me the tool tip will come back if you just do X, Y, or Z.
Actually, no one tried any of their own suggestions, because I can
tell you, after looking into it for quite a while - it just doesn't
come back, no matter what you do. (Except if you subclass the control
like I did, what a waste.)

I think the bane of a programmer's existence are hidden, poorly (or
not at all) documented behaviors that the designers thought made
sense. Give the programmers the control, make the properties do what
they say, and let us decide what is good or not good for users...

Thanks for your comments - let me know if I'm way off base here...
Jul 11 '08 #2
In article <da**********************************@59g2000hsb.g ooglegroups.com>, Shalom Shachne <sh***********@gmail.comwrote:
On Jul 3, 12:06 am, "J.B. Moreno" <pl...@newsreaders.comwrote:
Shalom Shachne <shalomshac...@gmail.comwrote:
"shalomshac...@gmail.com" wrote:
Hi -
-snip-
1. Tooltips: Autopop property has hidden undocumented limit.
No matter how high you set the value, tool tip will disappear
after around 30 seconds.
-snip-
But the main issue, is that if you hover over the area until ToolTip
disappears, you'll never see that ToolTip again (Try it.). Can you
explain why that makes sense?
Sorta...

If you move the mouse over another control and then back over the one
that is no longer displaying, it will reappear.

So, I'd guess the logic was that if it's been displayed long enough to
be hidden, then the user will remember it -- at least until after
they've needed to be told about something else.
-snip-
Here's the thing, if that were actually true, then it would be fine.
But the tool tip will NEVER reappear, ever again, no matter what you
do after it disapears (except if you restart the app.) Try it:

1. Create a form with 2 buttons.
2. Put a tool tip on both buttons.
3. Hover over button1 until tool tip disappears.
4. Hover over button2 - and then hover over button1 again. You won't
see the tool tip. and there's nothing you can do to bring it back.
Nothing....

:)
(I'd post the test form I made, but I don't see any way to attach
files to a post...)

What's funny is the how many responses I've seen to this where people
tell me the tool tip will come back if you just do X, Y, or Z.
Actually, no one tried any of their own suggestions, because I can
tell you, after looking into it for quite a while - it just doesn't
come back, no matter what you do. (Except if you subclass the control
like I did, what a waste.)
Well, I *DID* try it, and although you shouldn't attach files to post
to text newsgroups, there's nothing wrong with including a lot of
text....so here's my code (the tip displays for ~30 seconds and then
disappears just like you said, move the mouse to the 2nd label and
*it's* tip shows and so will the 1st one's).

Public Class Form1
Inherits System.Windows.Forms.Form
Public Sub New()
InitializeComponent()

ToolTip1.AutoPopDelay = 6000 * 300

End Sub
'Form overrides dispose to clean up the component list.
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub

'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer

'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container
Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components)
Me.Label1 = New System.Windows.Forms.Label
Me.Label2 = New System.Windows.Forms.Label
Me.SuspendLayout()
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(35, 44)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(39, 13)
Me.Label1.TabIndex = 0
Me.Label1.Text = "Label1"
Me.ToolTip1.SetToolTip(Me.Label1, "Label1")
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Location = New System.Drawing.Point(116, 44)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(39, 13)
Me.Label2.TabIndex = 1
Me.Label2.Text = "Label2"
Me.ToolTip1.SetToolTip(Me.Label2, "Label2")
'
'Form1
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(292, 266)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.Label1)
Me.Name = "Form1"
Me.Text = "Form1"
Me.ResumeLayout(False)
Me.PerformLayout()

End Sub
Friend WithEvents ToolTip1 As System.Windows.Forms.ToolTip
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label
End Class

--
J.B. Moreno
Jul 12 '08 #3
J.B. Moreno <pl***@newsreaders.comwrote:

-snip-
Public Class Form1
Inherits System.Windows.Forms.Form
Public Sub New()
InitializeComponent()

ToolTip1.AutoPopDelay = 6000 * 300

End Sub
To anyone that cares -- sorry for the VB, I switch back and forth all
day, and that's what I used last. I tested it with C# as well, no
difference (not that I expected one) I also used VS2005 and VS2008 and
framework 2.0 and 3.5

--
J.B. Moreno
Jul 12 '08 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

35
by: Dr.Tube | last post by:
Hi there, I have this web site (www.DrTube.com) which has the following DTD: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> which switches...
6
by: Thomas | last post by:
In Mozilla: The problem we are trying to solve: We are using XSL/XML to generate tables with text in the rows. The spacing is wider then when those same exact tables are created in regular HTML....
18
by: Neil Cherry | last post by:
I'm in the process of redesigning my web page and started working more with CSS. I have, what I think is, a nice web layout (I'm no expert so I could be wrong). When I tested it with Konqueror and...
4
by: Simon Brooke | last post by:
There is no need to respond to this post. There is, in fact, no possible helpful response to this post. I just needed to tear my hair in public... I have a site I wrote for a customer four years...
1
by: Registered User | last post by:
On Tue, 17 Jun 2008 09:30:40 -0700 (PDT), shalomshachne@gmail.com wrote: The AutoPopupDelay property determines the length of time the ToolTip window remains visible if the pointer is stationary...
0
by: lllomh | last post by:
Define the method first this.state = { buttonBackgroundColor: 'green', isBlinking: false, // A new status is added to identify whether the button is blinking or not } autoStart=()=>{
2
by: DJRhino | last post by:
Was curious if anyone else was having this same issue or not.... I was just Up/Down graded to windows 11 and now my access combo boxes are not acting right. With win 10 I could start typing...
2
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 4 Oct 2023 starting at 18:00 UK time (6PM UTC+1) and finishing at about 19:15 (7.15PM) The start time is equivalent to 19:00 (7PM) in Central...
0
tracyyun
by: tracyyun | last post by:
Hello everyone, I have a question and would like some advice on network connectivity. I have one computer connected to my router via WiFi, but I have two other computers that I want to be able to...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 1 Nov 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM) Please note that the UK and Europe revert to winter time on...
3
by: nia12 | last post by:
Hi there, I am very new to Access so apologies if any of this is obvious/not clear. I am creating a data collection tool for health care employees to complete. It consists of a number of...
0
NeoPa
by: NeoPa | last post by:
Introduction For this article I'll be focusing on the Report (clsReport) class. This simply handles making the calling Form invisible until all of the Reports opened by it have been closed, when it...
0
isladogs
by: isladogs | last post by:
The next online meeting of the Access Europe User Group will be on Wednesday 6 Dec 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, Mike...
2
by: GKJR | last post by:
Does anyone have a recommendation to build a standalone application to replace an Access database? I have my bookkeeping software I developed in Access that I would like to make available to other...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.