SilverLight程序之:SilverLight桌面程序的窗体调整及最大化、最小化和关闭按钮

概述

Application 成员
封装 Silverlight 应用程序。


Application.Current 属性
获取当前应用程序的 Application 对象。

Window.DragResize 方法
在受信任的应用程序中,开始鼠标拖动操作以移动指定的窗口边缘或角。
通常使用此方法实现用户在隐藏窗口边框时拖动窗口边缘和角的方法。

Window.DragMove 方法
在受信任的应用程序中,开始鼠标拖动操作以移动窗口。
通常使用此方法实现用户在隐藏窗口标题栏时拖动窗口边缘和角的方法。

Window.Close 方法
除非取消 Closing 事件,否则关闭应用程序窗口。
使用此方法提供备选的窗口"关闭"按钮。这隐藏窗口标题栏和边框时,在受信任的应用程序中尤为有用。

Window.WindowState 属性
获取或设置一个值,该值指示窗口是处于最大化、最小化还是正常状态。
使用此属性提供备选的窗口"最小化"和"最大化"按钮。这隐藏窗口标题栏和边框时,在受信任的应用程序中尤为有用。

WindowState 枚举
定义指示浏览器外应用程序窗口的状态的常数。

Normal 应用程序窗口处于正常状态,它所占据的屏幕空间大小取决于其 Window.Height 和 Window.Width 值。
Minimized 应用程序窗口最小化到任务栏上。
Maximized 应用程序窗口最大化,占据了屏幕的整个工作区。

效果

2011050916504962.jpg

xaml代码

< Grid x:Name ="LayoutRoot"
Background
="Orange" >
<!-- 可以自由拖动标题 -->
< Grid x:Name ="TitleBar"
Background
="Blue"
Height
="30"
VerticalAlignment
="Top" />

<!-- 可以自由拉伸窗体 -->
< Grid x:Name ="ResizeArea"
Background
="Blue"
Height
="30"
Width
="30"
VerticalAlignment
="Bottom"
HorizontalAlignment
="Right" />

< StackPanel Orientation ="Horizontal"
HorizontalAlignment
="Right"
VerticalAlignment
="Top"
Margin
="8" >
<!-- 最小化按钮 -->
< Button x:Name ="MinimizeButton"
Width
="15"
Height
="15" />
<!-- 最大化按钮 -->
< Button x:Name ="MaximizeButton"
Width
="15"
Height
="15" />
<!-- 关闭按钮 -->
< Button x:Name ="CloseButton"
Width
="15"
Height
="15" />
</ StackPanel >
</ Grid >

cs代码

public MainPage()
{
InitializeComponent();
// 最大化按钮单击事件
MaximizeButton.Click += new RoutedEventHandler(MaximizeButton_Click);
// 最小化按钮单击事件
MinimizeButton.Click += new RoutedEventHandler(MinimizeButton_Click);
// 关闭按钮单击事件
CloseButton.Click += new RoutedEventHandler(CloseButton_Click);

// 标题栏鼠标左键按下
TitleBar.MouseLeftButtonDown += new MouseButtonEventHandler(TitleBar_MouseLeftButtonDown);
// 调整范围鼠标左键按下
ResizeArea.MouseLeftButtonDown += new MouseButtonEventHandler(ResizeArea_MouseLeftButtonDown);


}

void ResizeArea_MouseLeftButtonDown( object sender, MouseButtonEventArgs e)
{
// Application 成员
// 封装 Silverlight 应用程序。
// Application.Current 属性
// 获取当前应用程序的 Application 对象。

// Window.DragResize 方法
// 在受信任的应用程序中,开始鼠标拖动操作以移动指定的窗口边缘或角。
// 通常使用此方法实现用户在隐藏窗口边框时拖动窗口边缘和角的方法。
Application.Current.MainWindow.DragResize(WindowResizeEdge.BottomRight);
}


void TitleBar_MouseLeftButtonDown( object sender, MouseButtonEventArgs e)
{
// Window.DragMove 方法
// 在受信任的应用程序中,开始鼠标拖动操作以移动窗口。
// 通常使用此方法实现用户在隐藏窗口标题栏时拖动窗口边缘和角的方法。
Application.Current.MainWindow.DragMove();
}


void CloseButton_Click( object sender, RoutedEventArgs e)
{
// Window.Close 方法
// 除非取消 Closing 事件,否则关闭应用程序窗口。
// 使用此方法提供备选的窗口"关闭"按钮。这隐藏窗口标题栏和边框时,在受信任的应用程序中尤为有用。
Application.Current.MainWindow.Close();
}

void MinimizeButton_Click( object sender, RoutedEventArgs e)
{
// Window.WindowState 属性
// 获取或设置一个值,该值指示窗口是处于最大化、最小化还是正常状态。
// 使用此属性提供备选的窗口"最小化"和"最大化"按钮。这隐藏窗口标题栏和边框时,在受信任的应用程序中尤为有用。

// WindowState 枚举
// 定义指示浏览器外应用程序窗口的状态的常数。

// Normal 应用程序窗口处于正常状态,它所占据的屏幕空间大小取决于其 Window.Height 和 Window.Width 值。
// Minimized 应用程序窗口最小化到任务栏上。
// Maximized 应用程序窗口最大化,占据了屏幕的整个工作区。
Application.Current.MainWindow.WindowState = WindowState.Minimized;
}

void MaximizeButton_Click( object sender, RoutedEventArgs e)
{
Application.Current.MainWindow.WindowState
=
Application.Current.MainWindow.WindowState
==
WindowState.Maximized
? WindowState.Normal : WindowState.Maximized;
}
}

大功告成!!!


作者:记忆逝去的青春
出处:http://www.cnblogs.com/lukun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过http://www.cnblogs.com/lukun/  联系我,非常感谢。

转载于:https://www.cnblogs.com/lukun/archive/2011/05/09/2041316.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值