トップ  >  サンプルソース  >  Windowサイズ保存(C#/VB.NET)

Windowサイズ保存(C#/VB.NET)

2010年05月26日

ウィンドウを終了する際にウィンドウサイズを保存し、次回も同じサイズでウィンドウ表示(回復)するサンプル(ソース/コード)です。ウィンドウサイズを保存する仕組みとしてXMLファイルを使用していますので、「XMLファイル入力/出力(C#/VB.NET)」もご覧ください。

' --------------------------------------------------------
' Formサイズを保存するサンプル(VB.NET/VS2005)
' Imports System.IO (必要)
' Imports System.Text (必要)
' Imports System.Xml.Serialization (必要)
' XMLファイル(Formサイズ)
Private Const XML_FIL As String = "Xml.xml"
' XMLデータ(Formサイズ)
Public Class XmlData
    ' Form左上Left座標
    Public Left As Integer = 100
    ' Form左上Top座標
    Public Top As Integer = 200
    ' Form横幅
    Public Width As Integer = 300
    ' Form縦幅
    Public Height As Integer = 400
    ' 通常/最小化/最大化
    Public WindowState As FormWindowState = _
        FormWindowState.Normal
End Class
Public XmlDt As XmlData = New XmlData()

Private Sub Form7_Load( _
    ByVal sender As System.Object, _
    ByVal e As System.EventArgs) _
    Handles MyBase.Load
    ' XMLデータ(Formサイズ)の読込
    ReadXml()

    ' フォームサイズ回復
    Me.Left = XmlDt.Left
    Me.Top = XmlDt.Top
    Me.Width = XmlDt.Width
    Me.Height = XmlDt.Height
    Me.WindowState = XmlDt.WindowState
End Sub

Private Sub Form7_FormClosing( _
    ByVal sender As System.Object, _
    ByVal e As System.Windows.Forms.FormClosingEventArgs) _
    Handles MyBase.FormClosing
    ' フォームサイズ設定
    If Me.WindowState = FormWindowState.Normal Then
        XmlDt.Left = Me.Left
        XmlDt.Top = Me.Top
        XmlDt.Width = Me.Width
        XmlDt.Height = Me.Height
    End If
    XmlDt.WindowState = Me.WindowState

    ' XMLデータ(Formサイズ)の保存
    SaveXml()
End Sub
' --------------------------------------------------------

// -------------------------------------------------------
// Formサイズを保存するサンプル(C#.NET/VS2005)
// using System.IO; (必要)
// using System.Text; (必要)
// using System.Xml.Serialization; (必要)
// XMLファイル(Formサイズ)
private const String XML_FIL = "Xml.xml";
// XMLデータ(Formサイズ)
public class XmlData
{
    // Form左上Left座標
    public int Left  = 100;
    // Form左上Top座標
    public int Top = 200;
    // Form横幅
    public int Width  = 300;
    // Form縦幅
    public int Height  = 400;
    // 通常/最小化/最大化
    public FormWindowState WindowState =
        FormWindowState.Normal;
}
public static XmlData XmlDt = new XmlData();

private void Form7_Load(
    object sender, EventArgs e)
{
    // XMLデータ(Formサイズ)の読込
    ReadXml();

    // フォームサイズ回復
    this.Left = XmlDt.Left;
    this.Top = XmlDt.Top;
    this.Width = XmlDt.Width;
    this.Height = XmlDt.Height;
    this.WindowState = XmlDt.WindowState;
}

private void Form7_FormClosed(
    object sender, FormClosedEventArgs e)
{
    // フォームサイズ設定
    if( this.WindowState == FormWindowState.Normal ){
        XmlDt.Left = this.Left;
        XmlDt.Top = this.Top;
        XmlDt.Width = this.Width;
        XmlDt.Height = this.Height;
    }
    XmlDt.WindowState = this.WindowState;

    // XMLデータ(Formサイズ)の保存
    SaveXml();
}
// -------------------------------------------------------
スポンサーサイト

ヨーキー景吾の写真集 | トップページへ戻る | XMLファイル入力/出力(C#/VB.NET)

このページのトップに戻る

コメント

名前
題名
メールアドレス
WEBサイト
 
コメント
パスワード
  管理者にだけ表示を許可する

このページのトップに戻る

トラックバック

このページのトップに戻る