Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 2 của 2
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Lưu lại kích thước và vị trí của Form vào tài liệu XML trong C#

    Một yêu cầu phổ biến đối với Form là nhớ lại vị trí và kích thước cuối cùng của nó. Thông thường, thông tin này được lưu trữ trong registry. Tuy nhiên, bài viết này, mình xin chia sẻ thêm 1 cách khác, đó là dùng XML để lưu lại kích thước, vị trí của Form
    - Điều đầu tiên các bạn cần làm là thêm vào namespace:

    Mã:
    using System.Xml;
    - Bây giờ, bạn thụ lý tình huống Load của Form như sau:

    Mã:
            private void Form1_Load(object sender, EventArgs e)        {            try            {                //trường hợp Form được nạp                //trong những lần kế tiếp                XmlDocument xmlDoc = new XmlDocument();                /ạp cauhinh.xml, lấy thông tin và trả về vị trí trước kia                //cho Form                xmlDoc.Load("cauhinh.xml");                this.Height = int.Parse(xmlDoc.DocumentElement["Height"].InnerText);                this.Width = int.Parse(xmlDoc.DocumentElement["Width"].InnerText);                this.Left = int.Parse(xmlDoc.DocumentElement["Left"].InnerText);                this.Top = int.Parse(xmlDoc.DocumentElement["Top"].InnerText);            }            catch            {                //trong trường hợp Form được nạp vào lần đầu tiên                //thì sẽ tạo ra cauhinh.xml                //và lưu kích thước Form vào                int height = this.Height;                int width = this.Width;                int left = this.Left;                int top = this.Top;                XmlTextWriter writer = new XmlTextWriter("cauhinh.xml", null);                writer.WriteStartDocument();                writer.WriteStartElement("cauhinh");                 writer.WriteStartElement("Height");                writer.WriteString(height.ToString());                writer.WriteEndElement();                 writer.WriteStartElement("Width");                writer.WriteString(width.ToString());                writer.WriteEndElement();                 writer.WriteStartElement("Left");                writer.WriteString(left.ToString());                writer.WriteEndElement();                 writer.WriteStartElement("Top");                writer.WriteString(top.ToString());                writer.WriteEndElement();                 writer.WriteEndElement();                writer.WriteEndDocument();                writer.Close();                //tài liệu XML lúc này có dạng:                //<?xml version="1.0" ?>                 // <cauhinh>                //<Height>556</Height>                 //<Width>697</Width>                 //<Left>111</Left>                 //<Top>53</Top>                 //</cauhinh>            }        }
    - Kế tiếp, bạn thụ lý tình huống FormClosed của Form như sau:

    Mã:
            private void Form1_FormClosed(object sender, FormClosedEventArgs e)        {            //Khi Form được đóng            /ó sẽ nạp cauhinh.xml             //để lưu lại kích thước lúc này            XmlDocument xmlDoc = new XmlDocument();            xmlDoc.Load("cauhinh.xml");             xmlDoc.DocumentElement["Height"].InnerText = this.Height.ToString();            xmlDoc.DocumentElement["Width"].InnerText = this.Width.ToString();            xmlDoc.DocumentElement["Top"].InnerText = this.Top.ToString();            xmlDoc.DocumentElement["Left"].InnerText = this.Left.ToString();            xmlDoc.Save("cauhinh.xml");        }
    Bây giờ, bạn thử nhấn F5 để Run chương trình đi nào, sau đó thay đổi kích thước của Form và đóng Form rồi lại mở ra nữa. Bạn sẽ nhận được điều mình cần.

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Ngày xưa settings thiết lập bằng file *.ini (initialization) , bây giờ có xml tiện dụng đa năng hơn, phê thật [IMG]images/smilies/biggrin.png[/IMG]

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •