Thursday, September 26

Properties.Settings.Default.Save(); จำค่าไว้ก่อนปิด

พอดีมีคนถามมา ก็เลยลองหาดูในเนต ก็เจอว่ามีวิธีการเก็บบันทึกค่าต่างๆ ที่เรากรอกทิ้งไว้ในฟอร์ม ก่อนปิดหน้าต่างโปรแกรม แล้ว สามารถเรียกกลับมาคืนได้ ผมเคยคิดว่าจะเก็บลง Registry ของ windows (ซึ่งไม่น่าจะง่าย) แต่ มาเจอวิธีที่ง่ายกว่านั้นอีก เรามาดูกันเลย

เริ่มแรกก็สร้างฟอร์มง่ายๆ ก่อน ให้มีแค่ Textbox อันเดียวก็พอ

จากนั้นคลิกขวาที่โปรเจคของเรา ในหน้าต่าง Solution Explorer แล้วเลือก Properties เลือกที่ Tab setting และทำการกรอกค่าตามรูป

simple form

------+-------+-------
Name          Type         Scope
------+-------+-------
text             string       User
x                  int           User
y                   int          User

Properties Settings

ในที่นี้ เราจะให้ text เก็บค่าใน textbox ที่เคยพิมพ์ไว้ ส่วน x และ y จะเก็บค่าตำแหน่ง form ก่อนปิดหน้าต่างโปรแกรม เมื่อกำหนดเรียบร้อยแล้วให้ทำการบันทึกไฟล์ไว้ก่อน

จากนั้นทำการกำหนดและเขียนโค๊ดดังนี้

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace persistingForm
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            this.StartPosition = FormStartPosition.Manual;
        }

        private void textBox1_KeyUp(object sender, KeyEventArgs e)
        {
            Properties.Settings.Default.text = textBox1.Text; // เก็บค่าสตริงจาก textbox1 ลงใน properties text
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            Properties.Settings.Default.x = this.Location.X;
            Properties.Settings.Default.y = this.Location.Y;
            Properties.Settings.Default.Save(); // อย่าลืมสั่ง save ก่อนปิดโปรแกรม
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            this.Location = new Point(Properties.Settings.Default.x, Properties.Settings.Default.y);
            textBox1.Text = Properties.Settings.Default.text;
        }
    }
}

ลองรันโปรแกรม ดูครับ แล้วลองเปรียบเทียบกับโปรแกรมก่อนๆ หน้านี้ดูครับ จะเห็นว่า โปรแกรมนี้ที่เราเขียนขึ้น จะมีการจดจำค่าก่อนปิดโปรแกรมตามที่เรากำหนดไว้ในโค๊ด  ลองเอาไปประยุกต์ดูครับ

ขอให้สนุกกับ .NET ครับ

อ้างอิง:  http://msdn.microsoft.com/en-us/library/aa730869(v=vs.80).aspx

0 ความคิดเห็น:

Post a Comment

 

แจกฟรี พื้นที่ฝากไฟล์ 2 GB

ads

ติดตามข่าวสารผ่าน Twitter

ติดตาม Blog นี้

Blog อื่นๆของฉัน

  • Test AMR Fleet Management program - ระบบบริหารจัดการจราจรและจัดคิวงานของรถ AMR (Autonomous Mobile Robot) ที่พัฒนาโดยบริษัท WP Solution Co., Ltd. จากภาษา C# ทั้งในส่วนของ Backend (Service app...
  • Gearset matching 2021 program - เป็นงานใหญ่ที่เพิ่งจบไป ที่ระยอง ปลวกแดง บริษัทผลิตชิ้นส่วนรถยนต์ คอนเซปต์ คือต้องการเก็บค่าหลังจากการทดสอบชิ้นส่วยรถยนต์ เพื่อเก็บไว้ในฐานข้อมูลให้แผนกถ...
  • RT ToolBox3 Standard version 1.70Y - กำลังศึกษาการใช้งานโปรแกรม RT ToolBox3 ในการเขียนโปรแกรมเพื่อควบคุมแขนกล Robots-MELFA ของค่าย Mitsubishi Facebook link
  • Free Screen Capture โปรแกรมบันทึกหน้าจอ ฟรีๆ - หากเพื่อนๆ จะมองหาโปรแกรม ที่ไว้สำหรับบันทึกหน้าจอคอมพิวเตอร์ ไม่ว่าจะบันทึกในรูปของภาพนีิ่ง (Screen shot) หรือแบบบันทึกเป็นภาพเคลื่อนไหว ( screencas...

จำนวนการเยี่ยมชมบล๊อก