0
Answer

.NET & WinForms for touchscreen applications

amit 0

amit 0

20y
3.1k
1
Hi All. I'm just learning WinForms with C# and I am primarily concerned about creating applications to be deployed on a touchscreen. I have a few questions that I hope somone can shed some light on, point me in the right direction for additional information, or offer any suggestions. My biggest concern is (semi)transparancy. Ideally I'd like to have semi-transparent controls on top of the main display. Picture a touchscreen friendly "toolbar" that houses buttons on a semi-transparent background to minimize the obstruction of the main display. Playing around I have discovered the Opacity property, but this only will work on a top level form. Now there is no problem in me creating a top level form and sticking buttons on that, however when I set the opacity property, the entire contents of the form becomes transparent, but just the background. (i.e.: a button with an icon "label" will be semi-transparent along with the background). The ideal effect would be an opaque "label" and a semi-transparent background. Also, access to the menus are done differently on a touch screen application; typically they are moved to the bottom of the screen so that when accessing them, your hand / arm isn't obstructing the application. Again, I'd like to see this done with semi-transparency too. Picture a larger (touch screen friendly font size) menu bar but sitting on the bottom of the application (where the status bar would be) but when you expose a menu, the menu drop down (fly-out) would also be transparent. Is this possible? Unfortunately when I tried this on my top level form with a semi-transparent opacity setting, the drop down did not take on the opacity setting and was completely opaque. In other GUI toolkits such as Qt, you are able to set the global minimum size that any control can take on, thus effectivly making all of your controls touchscreen friendly with 1 function call. This prevents you from having to create 2 versions of each dialog (one for normal and one for touchscreen mode) . Does WinForms have something similar? Thanks for your time, flyte