文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>c# 窗体全屏显示的完整范例

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

时间:2010-08-22  来源:Nuke'Blog

全屏窗体的完整方法:

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);  

 

 

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载