将焦点设置在控件上会导致出现Windows工具栏

时间:2010-10-13 14:36:32

标签: c# windows-mobile

当我将焦点设置在文本框上时,在Windows Mobile 5.0中的表单加载事件上,即使我的表单已最大化,也会显示Windows工具栏。

当我没有将焦点设置在文本框上时,表单会打开最大化。我不希望出现Windows工具栏。

如何防止这种情况发生?

2 个答案:

答案 0 :(得分:2)

WinMo中的起始栏实际上不属于您的应用程序 - 它是由Shell管理的一个单独的进程,它确实希望始终处于最佳状态。试图将你的应用程序置于其上面违背了WinMo的设计目标(虽然这是一个常见的事情)。

我建议您在“自助服务终端模式”上进行一些搜索和阅读,以便从其他已经走过这条道路的人那里获得知识,但您所看到的是,StartBar正处于最顶层。

Raffaelle Limosani有一个pretty decent blog entry that covers kiosk mode,所以这是一个很好的起点(看看他链接到的其他博客)。

答案 1 :(得分:1)

顶部的工具栏实际上是一个单独的窗口,它有一个习惯,当不想要通过全屏(“自助服务终端”模式)应用程序时出现。例如,如果您ShowDialog第一个全屏幕窗口,则“开始”窗口会在离开之前闪烁一秒钟。

我找到处理它的唯一方法是入侵API并在应用程序打开时实际隐藏“启动”窗口。这是一个很大的潜在问题,因为如果您的应用程序崩溃而没有再次显示“启动”窗口,它将保持不可见状态,直到您重置设备(或再次成功运行应用程序)。

除非你绝对不得不这样做,否则我建议不要这样做。正如ctacke指出的那样,这将是一个应用程序与Windows Mobile不能很好地协作的一个例子。