473,398 Members | 2,403 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,398 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 1607
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: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

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.