PPC中窗体内容以及随着输入法面板的显示状态的滚动处理
2008-01-31 11:22
302 查看
这两天想做一个PPC上的小程序,才发现它上面很多东西做起来好麻烦。。。。
就拿滚动窗体里面的内容来说,在普通的WinForm下是很容易的,这里都得要自己实现。
终于在微软的示例中找到一个例子 ,不过发现窗体上如果有输入面板控件的话,如果输入法面板显示出来则会遮盖住窗体的一部分,那么就会比较麻烦。一直找不到好的解决方案,经过一番折腾,终于算是搞妥了这个问题,现将解决思路写出来,大家看看有没有什么优化的地方。
首先:窗体中所有要显示的控件都应该放到一个Panel里面,其次在窗体上放上一个VScrollBar,当然如果你也需要横向滚动条那么也放上一个吧,如下图所示:
private void Form1_Load(object sender, System.EventArgs e)
private int preValue;
private void vScrollBar1_ValueChanged(object sender, System.EventArgs e)
private void inputPanel1_EnabledChanged(object sender, System.EventArgs e)
private void ShowInputPanel(object sender,System.EventArgs e)
private void HideInputPanel(object sender,System.EventArgs e)
private void SetScrollBar(object sender)
最后,将所有需要显示输入法面板的控件如下处理,使其获得焦点的时候可以显示输入法面板并且调整窗体中控件位置:
this.textBox1.GotFocus += new System.EventHandler(this.ShowInputPanel);
所有要隐藏输入法面板的控件再作如下处理,使其获得焦点的时候隐藏输入法面板并且调整控件位置:
this.radioButton1.GotFocus += new System.EventHandler(this.HideInputPanel);
OK,经过如上处理之后,您的窗体中的控件位置首先会随着滚动条的位置的改变而滚动。
其次,当弹出或者隐藏输入法面板的时候,位置也会随之相应调整。
相关文章推荐
- PPC中窗体内容以及随着输入法面板的显示状态的滚动处理
- .net 密码框赋值、输入以及页面刷新状态下的处理过程
- android webview 缓存以及无网状态显示处理
- .net 密码框赋值、输入以及页面刷新状态下的处理过程
- UITextField(限制文字输入,调整光标,内容,占位文字显示的位置,以及基本使用)
- 窗体上有两个文本框:一个文本框中最多输入字符6个;一个文本框中输入任何内容都显示*号。再添加一个按钮、2个单选按钮。实现单击按钮后,根据单选按钮,将对应文本框中内容显示在标签
- 抓取网页中的内容、如何解决乱码问题、如何解决登录问题以及对所采集的数据进行处理显示的过程
- 监听EditText输入状态,根据是否有输入内容显示ImageButton(清空按钮)
- IOS 键盘的显示与关闭,以及移动显示(UITextView处理完整版)(完美中文键盘输入避免触摸无效,做双重保障)
- 仿知乎程序(四)swipebacklayout的使用,处理TextView中图片的显示以及类360滚动布局
- android 在状态栏显示内容以及更改状态栏颜色
- Android:创建能输入内容的常见对话框以及使用对话框实现逻辑处理
- android TextView自动滚动以及Java中改变显示内容
- flex 弹窗口嵌套iframe,移动窗体iframe内容不显示了问题处理
- php中textarea文本框输入内容回车换行('\n')的处理方法
- 制作一个简易的网页,用不同的颜色区分头部、内容以及底部,在滚动页面的过程中,底部保持不变。
- canvas基础动画-循环从屏幕下方出现-上方消失(可切换速度,字号,单色,彩色,显示用户输入内容)
- tail实时滚动显示log文件内容
- iOS 导航条透明(以及自定义颜色)的方法,去掉导航条底部黑线,随着tableView滚动设置导航条变色