InputPanel Class
Assembly: Microsoft.WindowsCE.Forms (in microsoft.windowsce.forms.dll)
The .NET Compact Framework provides the InputPanel component, which supplies a managed implementation of the SIP control in Windows CE. When you create a Windows-based application that targets the Pocket PC platform, Visual Studio automatically adds a MainMenu component to the Form1 file in your project. Your form then contains the lower menu bar with the SIP icon. No programming is required to use the SIP; users can toggle the display of the SIP by tapping the icon. To program the SIP, drag the InputPanel component from the ToolBox to your form.
You can show the SIP programmatically using the Enabled property, get its size with the Bounds property, and determine the size of the form area not occupied by the SIP with the VisibleDesktop property. Note that the Bounds property always returns a width of 240 pixels and a height of 80 pixels for Pocket PCs, regardless of whether or not the SIP is enabled. The EnabledChanged event occurs whenever the SIP is enabled or disabled, either by the user or programmatically. A typical reason for programming the SIP is to reposition or resize controls on the form when the SIP is enabled and disabled.
The following code example contains a text box on a page of a tab control. It displays the SIP when the text box receives the focus, and uses the EnabledChanged event to lower the height of the tab control when the SIP is enabled and return to the original height when the SIP is disabled.
Note that you must add a reference to Microsoft.WindowsCE.Forms to your project.
private void textBox1_GotFocus(object sender, System.EventArgs e) { // Display the SIP. // Note that the EnabledChanged event occurs // whenever the SIP is enabled or disabled. inputPanel1.Enabled = true; } private void inputPanel1_EnabledChanged(object sender, EventArgs e) { if (inputPanel1.Enabled == false) { // The SIP is disabled, so set the height of the tab control // to its original height with a variable (TabOriginalHeight), // which is determined during initialization of the form. VisibleRect = inputPanel1.VisibleDesktop; tabControl1.Height = TabOriginalHeight; } else { // The SIP is enabled, so the height of the tab control // is set to the height of the visible desktop area. VisibleRect = inputPanel1.VisibleDesktop; tabControl1.Height = VisibleRect.Height; } // The Bounds property always returns a width of 240 and a height of 80 // pixels for Pocket PCs, regardless of whether or not the SIP is enabled. BoundsRect = inputPanel1.Bounds; // Show the VisibleDestkop and Bounds values // on the second tab for demonstration purposes. VisibleInfo.Text = String.Format("VisibleDesktop: X = {0}, " + "Y = {1}, Width = {2}, Height = {3}", VisibleRect.X, VisibleRect.Y, VisibleRect.Width, VisibleRect.Height); BoundsInfo.Text = String.Format("Bounds: X = {0}, Y = {1}, " + "Width = {2}, Height = {3}", BoundsRect.X, BoundsRect.Y, BoundsRect.Width, BoundsRect.Height); }
System.MarshalByRefObject
System.ComponentModel.Component
Microsoft.WindowsCE.Forms.InputPanel