ListBox.CellHelpTag doesn't always appear in 2017R3

Hi all,

just upgraded from Xojo 2017R1.1 to Xojo2017R3.

Application-wide, every ListBox’s CellHelpTag simply no longer appears in a mouseover.

I did not see that the functionality for CellHelpTags substantially changed. Typically I have just assigned the CellHelpTag for a cell with the Help text while populating the listbox. and traditionally that would be enough (when the user hovered their mouse of the particular Cell, the HelpTag would display automatically).

Has anyone else encountered this?

I have been working on this and have discovered that it works on a handful of my Listboxes in my application, but not on others. I cannot discern the reasons so far.

I created a new listbox from scratch to replace one that had a CellHelpTag that did not appear.
This did not fix the issue. It seems that randomly some listboxes CellHelpTag will function, and on others, it will not.

I’m at a loss. Two listboxes in the application will not show CellHelpTags at all. Other will just fine. Has anyone else experienced this problem?

A sample project so others could test would be helpful, especially if you end up needing to file a bug report.

The problem I’m having is how hard it is to replicate. With one of the listboxes whose CellHelpTags aren’t working, I deleted all of the Event Handlers on it. And still nothing. I made a new Listbox, cut/pasted all the code over to the new Listbox, and deleted the old Listbox, and it’s still not working. Meanwhile a separate Listbox with nearly identical code elsewhere in the application works just fine.

The CellHelpTags are definitely populating. Adding code to msgbox the Cell Help Tags when I click the cells. So the info is there.

HelpTags on other controls on the same window work (in this case, a CheckBox.HelpTag works).

But the individual Listbox.CellHelpTag(row,column) does not work at all, even on a brand new listbox on the same window.

This leads me to believe there is something wrong with the Window itself.

The only thing I can think of is that the affected Windows are properties of a class, set up this way


Attempting to use a Tooltip.Show in the listbox.mousemove event. Half of the time it won’t show. The other half of the time it blinks rapidly and disappears.

I would now guess that it is a bug is with helptag rendering?

The MouseMove event seems to only fire when I click the cell. What is going on with the Listbox?

This is highly unfortunate. Not only is Listbox.CellHelpTag mostly not functional, Tooltip also does not work. I have spent two days attempting workarounds and rewriting code.

I have figured out a way to work around this problem.

For anyone who encounters this problem in the future, this is the workaround.

I have multiple windows in my application. These are assigned as properties to the user, as certain users have access to different windows.

If you assign the window directly to the class’s window property, listbox cellhelptags will not work.
you must dim/create it as a new property.

For example:

LabNetAccountNetApp is a Window of class aLabNetWindowClass
LabNetAccountNetApp is a designed window with a layout, controls, methods, properties, etc.
aLabNetWindowClass is a Window that has additional properties and a few methods.

This used to work, and no longer does. Well, everything works, except listbox cellhelptags and tooltips will not appear.

anApp.Security = SecurityEnum.PowerUser anApp.Name = "Net Accounts" LabNetAccountNetApp.Title = "Net Accounts" LabNetAccountNetApp.Name = "Net Accounts" LabNetAccountNetApp.Visible = false anApp.upIcon = up_netacct anApp.downIcon = down_netacct anApp.aLabNetWindow = LabNetAccountNetApp

This works, and listbox cellhelptags and tooltips will appear.

anApp.Security = SecurityEnum.PowerUser anApp.Name = "Net Accounts" dim theNetAccountWindow as LabNetAccountNetApp = new LabNetAccountNetApp theNetAccountWindow.Title = "Net Accounts" theNetAccountWindow.Name = "Net Accounts" theNetAccountWindow.Visible = false anApp.upIcon = up_netacct anApp.downIcon = down_netacct anApp.aLabNetWindow = theNetAccountWindow