2 Answers, 1 is accepted
Hello, Chris,
The following help article demonstrates a sample approach how to access the logical layouts and the virtual keys and then hide those of them that are not needed:
https://docs.telerik.com/devtools/winforms/controls/virtual-keyboard/logical-keyboard-layout
I hope this information helps. If you need any further assistance please don't hesitate to contact me.
Regards,
Dess | Tech Support Engineer, Principal
Progress Telerik
Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.
Thank you very much!
Regards,
Chris.

Hi Dess,
I tried this code , but it does not work with LWIN, RWIN or ALT keys.
row returns null.
var allKeys = this.radVirtualKeyboard1.MainLayoutPanel.GetAllKeys();
Key Qkey = allKeys.FirstOrDefault(k => k.VirtualKey == (int)Keys.LWin) as Key;
Row row = this.radVirtualKeyboard1.MainLayoutPanel.FindRowByKey(Qkey);
row.Keys.Remove(Qkey);
this.radVirtualKeyboard1.MainLayoutPanel.ResetLayout(true);
Chris,
Note that the key you are trying to remove is a ToggleKey, not Key:
I have modified the code as below and the key is successfully removed from the layout:
var allKeys = this.radVirtualKeyboard1.MainLayoutPanel.GetAllKeys();
ToggleKey Qkey = allKeys.FirstOrDefault(k => k.VirtualKey == (int)Keys.LWin) as ToggleKey;
Row row = this.radVirtualKeyboard1.MainLayoutPanel.FindRowByKey(Qkey);
row.Keys.Remove(Qkey);
this.radVirtualKeyboard1.MainLayoutPanel.ResetLayout(true);
Hi Dess,
This works fine with LWin and RWin keys, but does not work with the ALT keys, how can I remove those?
Regards,Chris.
Hi, Chris,
I have prepared a sample code snippet demonstrating how to hide the Alt key at the bottom left side:
public RadForm1()
{
InitializeComponent();
var allKeys = this.radVirtualKeyboard1.MainLayoutPanel.GetAllKeys();
IKey Qkey = allKeys.FirstOrDefault(k => k.VirtualKey == (int)Keys.LMenu) as IKey;
Row row = this.radVirtualKeyboard1.MainLayoutPanel.FindRowByKey(Qkey);
row.Keys.Remove(Qkey);
this.radVirtualKeyboard1.MainLayoutPanel.ResetLayout(true);
}
Hi Dess,
Thanks for your support, this works perfect.
Regards, Chris.