Я занимаюсь разработкой универсального WinCE (4.2 и 5.0), поэтому не уверен, что мое решение подойдет для вашей проблемы с Windows Mobile.
В нашем сценарии наша форма должна была занимать весь экран (включая скрытие панели задач), не иметь строки заголовка, возможности минимизировать с помощью кода, а при сворачивании она отображала значок приложения на панели задач (так что это восстановлено) выделение предыдущей программы в стеке приложений. Звучит не так уж и плохо, но на практике я не смог удовлетворить все требования одновременно, потребовал некоторой хитрости.
Как уже сообщали другие, на компактной платформе нет Form.Minimize ().
Form.Hide()
не дал мне способа восстановить приложение. P / Invoking ShowWindow(Form.Handle, 6)
, где 6 = SW_MINIMIZE, минимизирует приложение до панели задач, но только когда Form.FormBorderStyle = Normal
(вместо None), однако это покажет строку заголовка приложения.
- Мне нужно было установить
Form.WindowState = Normal
вместо Maximized, иначе, когда приложение было свернуто, оно немедленно восстановилось.
В конце концов я собрал следующее, чтобы получить то, что я хотел. Это включало ручную настройку размера приложения, заполняя экран И дополнительной высотой, чтобы я мог наклонить приложение вверх и убрать заголовок с видимого экрана.
public class MyForm
{
public MyForm()
{
InitializeComponent();
NativeMethods.HideTaskbar();
FormBorderStyle = FormBorderStyle.FixedSingle;
WindowState = FormWindowState.Normal;
Rectangle screenBounds = Screen.PrimaryScreen.Bounds;
int taskBarHeight = SystemInformation.MenuHeight;
NativeMethods.MoveWindow(Handle,
0, -taskBarHeight,
screenBounds.Width, screenBounds.Height + taskBarHeight);
}
public void HandleMinimize()
{
NativeMethods.ShowTaskBar();
NativeMethods.ShowWindow(Handle, WindowShowStyle.Minimize);
}
Перехват события восстановления приложения, чтобы скрыть панель задач, был намного более сложным, и так как автор-автор не упомянул панель задач, я не буду вдаваться в нее.
Все статические методы класса NativeMethods являются оболочками для операторов P / Invoke. Обратитесь к разделу coredll в http://www.pinvoke.net для получения дополнительной информации об их реализации.