我正在研究Windows Mobile开发,但有一件事我还没有想到。在屏幕(软?)键盘出现时,设备上已安装的所有应用程序(Internet Explorer,配置窗口等)中,用户界面会自动调整大小,以免键盘覆盖或遮盖用户界面(如有必要)它添加滚动条)。
但是,当我只是将文本框添加到我的Windows Mobile窗体(靠近底部的某个位置)并对其进行测试时,它不会自动调整大小。键盘覆盖文本框,我无法再看到我正在键入的内容。
有没有办法自动执行此操作,或者我应该自己使用InputPanel控件并监听其事件?
顺便说一句,这完全适用于.NET(我认为是紧凑型框架),C#和Windows Mobile Professional 6.1。
答案 0 :(得分:2)
使用InputPanel组件。它包含EnabledChanged事件。 只需处理事件并调整/隐藏/显示您的控件。 :)
可以在MSDN找到示例代码。
答案 1 :(得分:1)
您必须分别为控件设置Anchor
属性。表单将自动调整大小,因为它是全屏的,但除非你告诉你的控件被锚定到底部,否则它不会移动但是在表单的“外部”。
示例:您有一个“填充客户区”ListView
以及ListView
下面的两个按钮。要使ListView
调整其大小并根据新高度移动按钮,请将ListView
的锚属性设置为“上,左,下,右”,并将按钮`锚属性设置为“底部,左“和”底部,右“。这样你也可以考虑屏幕旋转,因为控件可以正确调整大小/移动。
只有在您显示/隐藏SIP时想要完全重新构建布局时,您才必须收听InputPanel
事件。