C# 显示屏幕键盘时如何移动窗体

C# 显示屏幕键盘时如何移动窗体,c#,winforms,desktop-application,soft-keyboard,C#,Winforms,Desktop Application,Soft Keyboard,我正在为我们的桌面应用程序尝试一些不同的屏幕键盘替代方案,该应用程序在没有键盘的Windows8平板电脑上运行。 到目前为止,Tabtip.exe一直工作得最好,但我对其他解决方案持开放态度 我遇到的问题是,当用户单击应用程序中的文本框,我显示屏幕键盘时,键盘会隐藏文本框。 如何以良好的方式修复此问题? 这是windows可以自动处理的吗?有些应用程序(如outlook和word)会显示一个“拆分屏幕”,在应用程序所在的上部有一个滚动条,在下部有键盘。我想要一个这样的解决方案。他们是怎么做到的

我正在为我们的桌面应用程序尝试一些不同的屏幕键盘替代方案,该应用程序在没有键盘的Windows8平板电脑上运行。 到目前为止,Tabtip.exe一直工作得最好,但我对其他解决方案持开放态度

我遇到的问题是,当用户单击应用程序中的文本框,我显示屏幕键盘时,键盘会隐藏文本框。 如何以良好的方式修复此问题? 这是windows可以自动处理的吗?有些应用程序(如outlook和word)会显示一个“拆分屏幕”,在应用程序所在的上部有一个滚动条,在下部有键盘。我想要一个这样的解决方案。他们是怎么做到的

一个解决方案是总是将我的窗口向上移动一定数量的像素,与键盘高度相同。但是如果键盘没有覆盖文本框,我不想移动应用程序。 但是如何确定键盘的高度呢?它总是一样高吗?我如何检测窗户在哪里

还有其他解决办法吗