2009-03-13 3 views

답변

1

그것은 오랜만 이동 — 그것은 여전히 ​​포켓 PC 2002 불렀다, 그래서 이것은 날짜 —에서 방법 경우가 있습니다 만, 그 시간이이 X에서 클릭의 기본 동작이었다 그때 앱의 오른쪽 상단에 있습니다. 닫히기보다는 앱이 배경을 보냅니다. 나는 그것을 바꿨어?

+0

동의합니다. WinCE는 Windows 클라이언트 또는 서버와 다릅니다. –

+0

"최소화"와 "닫기"사이의 "확인"단추의 동작을 변경하는 Form.MinimizeBox 속성에 대해 알고 있습니다. 내가 찾고있는 것은 코드로 폼을 최소화하는 방법이다. –

0

활성 폼에서 Hide()를 호출하십시오.

+0

Windows Mobile에서는 양식이 보이지 않기 때문에 이것이 내가 원하는 행동이 아닙니다. 더 이상 앱이 보이지 않습니다. 저는 코드로 "이전 프로세스"로 다시 전환 할 방법을 찾고 있습니다. –

+0

글쎄 WinMo는 윈도우에 대해 최소화 상태가 아닙니다. "보이지 않게"된다는 것은 무엇을 의미합니까?양식을 숨기면 투데이 화면이 Z 순서대로 앞으로 나오지 않거나 다른 프로세스가 종료되지 않는 한 위에 표시된 마지막 양식이 맨 위에 표시됩니다. – ctacke

0

나는 일반 주춤 (4.2 및 5.0)에서 개발하고 있어요 그래서 난 내 솔루션은 윈도우 모바일의 문제에 대한 작동하는지 모르겠어요.

이 시나리오에서는 양식이 전체 화면 (작업 표시 줄 숨김 포함)을 차지하고 제목 표시 줄이없고 코드를 최소화 할 수있는 기능이 필요하며 최소화 된 경우 작업 표시 줄에 응용 프로그램 아이콘이 표시 될 수 있습니다. 복원) 응용 프로그램 스택의 이전 프로그램에 포커스를 둡니다. 그것은 나쁘지는 않지만 실제로는 모든 요구 사항을 충족시키지 못했지만 동시에 약간의 속임수가 필요했습니다.

다른 사람들이 게시 한 것처럼 Compact Framework에는 Form.Minimize()가 없습니다.

  • Form.Hide() 앱을 복원 할 수있는 방법이 없습니다. P/Invoking ShowWindow(Form.Handle, 6), 여기서 6 = SW_MINIMIZE는 응용 프로그램을 작업 표시 줄로 최소화하지만 Form.FormBorderStyle = Normal (None이 아닌) 경우에만 응용 프로그램 제목 표시 줄을 표시합니다.
  • 최대화 대신 Form.WindowState = Normal을 설정해야 앱을 최소화했을 때 즉시 복원 할 수있었습니다.

결국 내가 원하는 것을 얻기 위해 다음을 작성했습니다. 그것은 수동으로 응용 프로그램 크기를 조정하고 볼 수있는 화면에서 제목 표시 줄을 이동할 수 있도록 약간의 추가 높이로 화면을 채우고 응용 프로그램 크기를 설정하는 작업이 필요했습니다. 앱이 작업 표시 줄을 숨길 수있는 이벤트를 복원 가로 채기

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 문에 대한 래퍼입니다. 이러한 구현에 대한 자세한 내용은 http://www.pinvoke.net의 coredll 섹션을 참조하십시오.