Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I've just finished developing a touch screen Kiosk, no physical keyboard. I too found the osk limiting.</p> <p>With the help of a graphic designer, we created our own keyboard, buttons with the background of a key, and the content (or Tag) matching the intent of the button. Assign most buttons to a common event handler that inserts the text at the CaretIndex of the selected control.</p> <p>Use seperate handlers for DEL and ENTER.</p> <p>For my application, I popup a new window with a textbox, the desired keyboard (alpha, numeric, both, etc), a helpful sentence prompting the user for input and a placeholder showing the desired format.</p> <p>It works really well, and gives us complete control over the user experience.</p> <pre><code>private void key_Click(object sender, RoutedEventArgs e) { _activeControl.SelectedText = (string)((Control)sender).Tag; _activeControl.CaretIndex += _activeControl.SelectedText.Length; _activeControl.SelectionLength = 0; _activeControl.Focus(); } private void btnDEL_Click(object sender, RoutedEventArgs e) { var ci = _activeControl.CaretIndex; if (ci &gt; 1) { _activeControl.Text = _activeControl.Text.Remove( _activeControl.CaretIndex - 1, 1); _activeControl.SelectionStart = ci - 1; } else if (_activeControl.Text.Length &gt; 0) { _activeControl.Text = _activeControl.Text.Remove(0, 1); } _activeControl.Focus(); } private void btnEnter_Click(object sender, RoutedEventArgs e) { // Raise an event here, signalling your application // to validate and move to the next field } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload