Windows Mobile开发的一些小技巧(持续更新)

1.如何真正的退出程序,而不是隐藏窗体?
Windows Mobile中当你点击X的时候,并不是真正的关闭窗体,而是隐藏窗体,需要在应用程序的每个Form中调用一个函数才可以。

        private void InfoMain_Closed(object sender, EventArgs e)
        
{
            Application.Exit();
        }


每个窗体的Closed事件中加入Application.Exit();才能真正的退出程序。

2.如何让窗体跟着输入法窗口上移?
当输入文字时需要打开输入法,而当打开输入法的时候输入法会直接盖掉下层的程序界面,导致有时候窗体下方的控件无法进行操作(输入文字,点击按钮等),那么这个时候就需要我们在输入法状态变更的时候出发一些事件,让输入法窗口不要盖住程序。
首先每次创建Form,最好都先添加一个panel做控件的上层容器,设定好相对panel的位置,这样控件才会根据panel的变化而变化。之后给InputPanel的EnabledChanged事件加入下面的代码:

        private void inputPanel1_EnabledChanged(object sender, EventArgs e)
        
{
            
if (inputPanel1.Enabled)
            
{
                
this.panel1.Dock = DockStyle.None;
                
this.panel1.Height = inputPanel1.VisibleDesktop.Height;
            }

            
else
            
{
                
this.panel1.Dock = DockStyle.Fill;
            }

        }
当输入法打开的时候panel不再占据全屏,而是跟除了输入法外的可视化范围一样高。输入法关闭时,panel恢复占据全屏。当然panel的AutoScroll要设定为true。

3.如何创建非全屏Form?
首先需要你创建一个全屏的Form,然后将以下参数设定为指定值
ControlBox = false;
FormBorderStyle = none;
MinimizeBox = false;
WindowState = normal;
Size = 设置为你想要的大小即可。

这样的非全屏窗体不带边框不带标题,只有一个光秃秃的Form。如果你需要那些边框和标题使得界面更加美观,则可以参考以下文章:
http://www.christec.co.nz/blog/archives/134
牵扯到了一些对底层的操作。

posted on 2008-10-07 13:13  TiGERTiAN  阅读(555)  评论(1编辑  收藏  举报

导航