c# 窗体全屏显示的完整范例

全屏窗体的完整方法:

1.隐藏任务栏

2.设置工作区域

3.窗体最大化

此方法通用wince/mobile/ppc,但api声明要修改为coredll.dll的引用。

 

 

代码
bool  fullscreen  =   false ;   
Rectangle rect 
=   new  Rectangle();   
private   void  button4_Click( object  sender, EventArgs e)   
{   
    fullscreen 
=   ! fullscreen; // 循环。点一次全屏,再点还原。   
    SetFullScreen(fullscreen,  ref  rect);   
    
if  (fullscreen)   
    {   
        
this .WindowState  =  FormWindowState.Maximized; // 全屏   
    }   
    
else   
    {   
        
this .WindowState  =  FormWindowState.Normal; // 还原   
    }   
}   
  
///   <summary>    
///  设置全屏或这取消全屏   
///   </summary>    
///   <param name="fullscreen"> true:全屏 false:恢复 </param>    
///   <param name="rectOld"> 设置的时候,此参数返回原始尺寸,恢复时用此参数设置恢复 </param>    
///   <returns> 设置结果 </returns>    
public   static   bool  SetFullScreen( bool  fullscreen,  ref  Rectangle rectOld)   
{   
    
int  Hwnd  =   0 ;   
    Hwnd 
=  FindWindow( " Shell_TrayWnd " null );   
    
if  (Hwnd  ==   0 return   false ;   
    
if  (fullscreen)   
    {   
        ShowWindow(Hwnd, SW_HIDE);   
        Rectangle rectFull 
=  Screen.PrimaryScreen.Bounds;   
        SystemParametersInfo(SPI_GETWORKAREA, 
0 ref  rectOld, SPIF_UPDATEINIFILE); // get   
        SystemParametersInfo(SPI_SETWORKAREA,  0 ref  rectFull, SPIF_UPDATEINIFILE); // set   
    }   
    
else   
    {   
        ShowWindow(Hwnd, SW_SHOW);   
        SystemParametersInfo(SPI_SETWORKAREA, 
0 ref  rectOld, SPIF_UPDATEINIFILE);   
    }   
    
return   true ;   
}   
  
[DllImport(
" user32.dll " , EntryPoint  =   " ShowWindow " )]   
public   static   extern   int  ShowWindow( int  hwnd,  int  nCmdShow);   
public   const   int  SW_SHOW  =   5 public   const   int  SW_HIDE  =   0 ;   
  
[DllImport(
" user32.dll " , EntryPoint  =   " SystemParametersInfo " )]   
private   static   extern   int  SystemParametersInfo( int  uAction,  int  uParam,  ref  Rectangle lpvParam,  int  fuWinIni);   
public   const   int  SPIF_UPDATEINIFILE  =   0x1 ;   
public   const   int  SPI_SETWORKAREA  =   47 ;   
public   const   int  SPI_GETWORKAREA  =   48 ;   
  
[DllImport(
" user32.dll " , EntryPoint  =   " FindWindow " )]   
private   static   extern   int  FindWindow( string  lpClassName,  string  lpWindowName);  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值