Showing results for 
Search instead for 
Did you mean: 

Missing characters in .NET Combobox

Go to solution


I am working on a project that will require several UI elements to support Unicode characters, and the application must be developed in LabVIEW.  Unfortunately NXG is out.  I have downloaded and tried JKI Unicode and NI Unicode Tools and set UseUnicode=TRUE in the LabVIEW.ini file.  Both of these tools only work if the Windows regional settings are set to the end location, and doing that can REALLY mess up the string data in the source code in the development environment, I still have a couple event structures that will not display in English, so testing is a challenge.


I then turned to using .NET (StatusStrip, DataGridView, Charts, RichTextBox) controls and have been able to implement nearly all the functions that are needed.  This does require checking the "Beta: Use Unicode UTF-8 for worldwide language support" in the Windows Region Settings in Windows 10. I now need to have the function of a Combo Box.  There is a .NET Combo Box however when clicking the arrow to display the list, some characters are missing.  The screenshot below was created with the attached code snippet.  What would cause the the Chinese Language string to display correctly when selected using the property node, but be missing the second character when shown in the drop down?




Thank you.



0 Kudos
Message 1 of 3

I don't know WHY it does it, but I did find that if you insert a space between the two characters (standard x20) AND double up the string by concatenating it with itself, the second character will show up in the dropdown.  I tried a few "alternate" Unicode spaces (like the zero-width space) but it didn't show using them.



I have other things to do so I can't go further on this but maybe that's a workaround if you can replicate it (and don't start with that index as the selection)?

0 Kudos
Message 2 of 3
Accepted by topic author JoshRayeske

I had noticed that same behavior for labels too.


I have found a good solution.  Rather than placing a label into the .NET container, instead insert a Panel.  Then programmatically add the combobox control to the .NET panel.  This also works when using the TableLayoutPanel.


I have attached a quick test VI for inserting the Combo Box into the panel.

0 Kudos
Message 3 of 3