UI Interest Group Blog

Community Browser
cancel
Showing results for 
Search instead for 
Did you mean: 

Re: Free ToolStrip Addon for LabVIEW (.Net)

mvTech
Member

Hi Everyone,

ver.1.1

I have finished my tookit, for LabVIEW and I would like to share it with LabVIEW community. I think, the quality UI become as important part of a LV code as a functionality itself nowdays. Customizing the LV Controls & Indicators can be done many ways, but what about the LV RTM? (Run Time Menu). Maybe the color of RTM can be chage (I'm not sure) but I clearly know there is no way to insert images into menuitems, that could improve the presence of our FP.

So, I've started to develop a control that may replace the "old-timer" LV RTM. Before saying some words about the toolkit please take a look at the attached pictures.

dotnettoolstrip-slide-1.pngVertical Bar - Example.png

The pictures above show the ToolStrip can be used as Horizontal and Vertical dock.

The following docy types are supported:

  • Left / Top / Bottom
  • Right: (Not suggested - DropDownDirection)

The following ToolStripItems are supported already:

ToolStripItem    Functionality
ToolStripButtonSimple Button
ToolStripLabelSimple Text filed
ToolStripSeparatorSeparator Item
ToolStripMenuItemNestable Item (dropdown)

and the following items are under development:

  • ToolStripProgressBar
  • ToolStripTextBox
  • many more...

How to use:

The picture shows and example. (This VI is also available in the package with many more example.)


BD.jpg

Requirements:
  • LabVIEW 2009 or later
  • .Net Framework 2.0 or later
Development
  1. Before use this toolkit, please visit: www.mvtech.eu for more information about usage.
  2. Detalied documentation of VIs is also available here
  3. Toolkit Download Link - the zipped file contains an exe. It is not neccessary to run the exe but makes your life easier if you dont want to copy the toolkit files into user.lib\ manually.

Constraints
  1. ToolStripButton and ToolStripLabel can be inserted dierctly to the ToolStripControl; can not be nested. (TS - AddItem.vi - ParentTag must be empty.)
  2. Parent Tag must refer only ToolStripMenuItem.ItemTag or empty string.

Event Handling:

I think, this is most interesting part of it

User Level: I want to simplify the event handlig as much as possible, so the user doesn't have to take care .Net Events and more. .Net ClickedEvent is registered for UserEvent and used in the top-level vi. The Event returns the ItemTag of the selected ToolStripItem. This ItemTag is used as a parameter of the following methods:

Method Name
TS - RemoveItem.vi

TS - GetItemCheck.vi

TS - SetItemCheck.vi
TS - GetDisableItem.vi
TS - SetDisableItem.vi

For more info can be found on the website.

EventHandling.png

The picture above shows the event handling part of the code. The ItemTag <string> is an individual identifier of each ToolStripItem.

Checked Property:

Checked States.png

There are two types of checked-state. If a ToolStripMenuItem has any icon, the checked state dispalys as the "New" menuitem. Under the New menuitem, Open item has the same icon but its state is unchecked.

And if the menuitem doesn't have any icon, the standard pipe appears as its state is checked.

Version Overview

v1.3.

Feature Request:

  1. MenuEvents can be handled by Queue.  Please check Example II. The Process Queue is responsible for ToolStrip Event handling. The Queue - Dequeue element returns the ToolStripItem ItemTag.
  2. Password protection removed from subVIs. - Feel free to update or modify the source code.


Licence:

### BSD License (http://www.opensource.org/licenses/bsd-license.php) ###

Copyright (c) 2012, mvTech <info@mvtech.eu> | All rights reserved.

This Full Version tookit is free to use for everyone.

Please place the ToolStrip logo to your application about window.


Source Code:

The complete source code added (without password protection), full of with OO programming tools. ( Recursive algorithm, DVR objects, and so on...)

No Limitation | Full Source Code added

Feel free to use and ask if you have any question!



-----

Machine Vision Techniques & LabVIEW Solutions - The solution is Yours!





Comments
KrisnaWisnu
Member

looks good, let me try first.

Certified LabVIEW Developer (CLD)
Certified TestStand Developer (CTD)
Using LabVIEW 8.5.1 (2008) to LabVIEW 2021
Jervin Justin
NI Employee (retired)

This is pretty cool!

Jervin Justin
NI TestStand Product Manager
RazurBeam
Member

Is there a way to increase the image and font sizes?  I am looking for something that will work well with a touch screen, but I can't seem to find the attributes associated with font and image sizes.  Otherwise this is relatively slick and well thought out.

sankar06
Member

Hi,

Its looks great .I tried to run the example program but my LabVIEW is getting crashed every time. I have tried with different PC's also same result. Can anyone please assist me on this

 

Im using LabVIEW 2018

 

Thanks in advance

Happy to Wire
mattcrow
Member

Hi, I know I'm reviving a very old topic, but is there a way to have a Tool Strip Menu in NXG?

I'm coming from c# and MS Visual Studio and I find that NXG is very limited in options...