很多人都这样说
this.TopMost = true;
this.FormBorderStyle = FormBorderStyle.None;
this.WindowState = FormWindowState.Maximized;
我用了这几句后,还是隐藏不了任务栏。
我又用了API:
SetWindowPos(TaskBarHwnd, 0, 0, 0, 0, 0, SWP_HIDEWINDOW);
或者
IntPtr handle = FindWindowEx(IntPtr.Zero, IntPtr.Zero, "Shell_TrayWnd", null);
ShowWindow(handle, 0); 
这次任务栏看不见了,但我的窗口还是没把任务栏的位置占满。任务栏原来的区域变成空的。
真的不知道是什么原因?开发环境是C# 2008 express

解决方案 »

  1.   

    应该可以了,如果真的有你说的问题,你可以手动的来设置窗体的大小,窗体状态使用正常状态,使用Screen.FromHandle获取屏幕信息,得到其大小位置用来设置窗体的大小位置。
      

  2.   

    this.TopMost = true; 
    this.FormBorderStyle = FormBorderStyle.None; 
    this.WindowState = FormWindowState.Maximized; 这种方式可以的呀!
    难道与系统有关?迷惑不解
      

  3.   

    this.TopMost = true; 
    this.FormBorderStyle = FormBorderStyle.None; 
    this.WindowState = FormWindowState.Maximized; 
    试了可以的呀。
      

  4.   

    this.FormBorderStyle = FormBorderStyle.None;  
    this.WindowState = FormWindowState.Maximized;  
    绝对可以!
      

  5.   

    楼主是WEB项目吗。我怎么弄不出来那些属性啊
      

  6.   

    我知道原因了
    我的窗口本来就是最大化的,
    所以在全屏时this.WindowState = FormWindowState.Maximized;就不起作用了。
    我先把状态设置为普通,再设置后最大化,任务栏就隐藏了:
    this.WindowState = FormWindowState.Normal;
    this.WindowState = FormWindowState.Maximized;
    但问题是,这样一来,窗口就会明显看到先收缩了一下,再全屏,这样不好看啊。
    有什么好办法来使Maximized直接起作用。
      

  7.   

    试试先将窗体尺寸设置与主屏幕尺寸相同, 然后 FormWindowState.Normal 最后 FormWindowState.Maximized ...
      

  8.   

    按shinaterry 的方法试了一下,还是觉得很闪烁
      

  9.   

    不对呢,我的怎么没有闪烁的感觉,如果实在不行那你先hide()然后在设置窗体的属性,最后在show()出来,看行不行,或则你中间是不是还做了其他的操作呢~~~
      

  10.   

    this.TopMost = true;  
    this.FormBorderStyle = FormBorderStyle.None;  
    this.WindowState = FormWindowState.Maximized;  
      

  11.   

    growleaf 的办法是可行的,先hide再show就看不出闪烁了。
    谢谢各位!
      

  12.   

    在WPF里的全屏效果很好,就象游戏全屏的效果一样
      

  13.   

    实验了一下,cafred的方法从效果上看还行