我们每次打开软件,都想它一开始就是上次关闭时的位置,就可以按下面代码操作。
1、ActualHeight、ActualWidth(获取实际高度和宽度)
先创造一个Click事件(点击事件)
private void Button_Click(object sender, RoutedEventArgs e)
{
嘀哒哒嘀哒哒 my = new 嘀哒哒嘀哒哒();
my.Show();
this.Hide();
string wid = this.ActualWidth.ToString();
string hei = this.ActualHeight.ToString();
MessageBox.Show("Width:" + wid + "Height:" + hei);
}
2、RestoreBounds(获取窗口在最小化或最大化之前的大小和位置)
先创造一个Click事件(点击事件)
private void Button_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show(this.Sto)
}
6-20
3、关闭窗口事件(恢复关闭之前的窗口位置)
先创造一个Closing事件(关闭事件),然后在后台操作。
string filename = "settings.tex";
public Closing()
{
InitializeComponent();
//刷新从先前打开的窗口恢复边界
IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForAssembly();
try
{
using
(IsolatedStorageFileStream stream = new IsolatedStorageFileStream(this.filename, System.IO.FileMode.Open, storage))
using
(StreamReader reader = new StreamReader(stream))
{
//从文件中读取恢复边界值
Rect restoreBounds = Rect.Parse(reader.ReadLine());
Left = restoreBounds.Left;
Top = restoreBounds.Top;
Width = restoreBounds.Width;
Height = restoreBounds.Height;
}
}
catch(FileNotFoundException ex)
{
//当文件在独立存储中找不到,句柄:
//*这是第一次应用程序会话
//*文件已被删除
}
}
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
//保存restorebounds,以便下次打开此窗口时使用
IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForAssembly();
using (IsolatedStorageFileStream stream = new IsolatedStorageFileStream(filename, FileMode.Create, storage))
using (StreamWriter writer = new StreamWriter(stream))
{
//写恢复边界值到文件
writer.WriteLine(this.RestoreBounds.ToString());
}
}
以上就是恢复上次窗口关闭前的位置的操作。