網(wǎng)站規(guī)劃總結武漢本地seo
上一張我們已經(jīng)實現(xiàn)了TCP和串口頁面的數(shù)據(jù)展示,和保存控件
我們這一章,實現(xiàn)如何去,控制保存。
?
一、控件展示
CheckBox? ?TextBox? ?Button? ?label?
Name:
checkSaveImage? ? ?checkDelete? ? txtSaveDays
txtSaveImagePath? ? btnSelectImagePath
checksaveData? ? ? ?
txtSaveDataPath? ? ? btnSelectDataPath
btnSave
二、根據(jù)上回創(chuàng)建API來實現(xiàn)
private static TotalMessage instance = null;private TotalMessage() { }private static readonly object locker = new object();public static TotalMessage GetInstance(){if (instance == null){lock (locker){instance = new TotalMessage();}}return instance;}public string Configpath = Directory.GetCurrentDirectory() + @"\配置文件\Config.ini";
三、聲明類
#region 圖片數(shù)據(jù)路徑屬性public string ImageSavePath { get; set; }public string DataSavePath { get; set; }#endregion#region 保存數(shù)據(jù)-圖片屬性public bool IsSaveImage { get; set; }public bool IsSaveData { get; set; }public bool IsDelete { get; set; }public int SaveDay { get; set; }public string PathSaveImage { get; set; }public string PathSaveData { get; set; }#endregionpublic void LoadConfig()
{ImageSavePath = IniAPI.GetPrivateProfileString("路徑", "ImageSavePath", @"D:\Image", Configpath);DataSavePath = IniAPI.GetPrivateProfileString("路徑", "DataSavePath", @"D:\Data", Configpath);
}public void WriteValues(string Section, string key, string value)
{IniAPI.INIWriteValue(Configpath, Section, key, value);
}
四、窗體框架
1.在APP.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration><configSections><sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" ><section name="九點標定項目.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" /></sectionGroup></configSections><startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /></startup><userSettings><九點標定項目.Properties.Settings><setting name="IsSaveImage" serializeAs="String"><value>True</value></setting><setting name="IsSaveData" serializeAs="String"><value>True</value></setting><setting name="IsDelete" serializeAs="String"><value>True</value></setting><setting name="SaveDays" serializeAs="String"><value>7</value></setting><setting name="LastDeleteData" serializeAs="String"><value>2023-05-11</value></setting></九點標定項目.Properties.Settings></userSettings>
</configuration>
2. 窗體加載
private void FormSaveDataImage_Load(object sender, EventArgs e){checkSaveImage.Checked = message.IsSaveImage ? true : false;checksaveData.Checked = message.IsSaveData ? true : false;checkDelete.Checked = message.IsDelete ? true : false;txtSaveDays.Text=message.SaveDay.ToString();txtSaveDataPath.Text = message.PathSaveData;txtSaveImagePath.Text=message.PathSaveImage;}
3.保存數(shù)據(jù)路徑
private void btnSelectImagePath_Click(object sender, EventArgs e){//創(chuàng)建一個FolderBrowserDialog對象FolderBrowserDialog folder=new FolderBrowserDialog();folder.SelectedPath = message.PathSaveImage;if(folder.ShowDialog() == DialogResult.OK){txtSaveDataPath.Text=folder.SelectedPath;message.PathSaveImage = folder.SelectedPath;}}
4.保存圖片路徑
private void btnSelectDataPath_Click(object sender, EventArgs e){FolderBrowserDialog fold=new FolderBrowserDialog();fold.SelectedPath = message.PathSaveData;if(fold.ShowDialog() == DialogResult.OK){txtSaveDataPath.Text=fold.SelectedPath;message.PathSaveData=fold.SelectedPath;}}
5.this.Controls
TotalMessage message = TotalMessage.GetInstance();public FormSaveDataImage(){InitializeComponent();message.IsSaveData=Settings.Default.IsSaveData;message.IsSaveImage=Settings.Default.IsSaveImage;message.IsDelete=Settings.Default.IsDelete;message.SaveDay=Settings.Default.SaveDays;message.PathSaveImage=TotalMessage.GetInstance().ImageSavePath;message.PathSaveData=TotalMessage.GetInstance().DataSavePath;}
6.保存
private void btnSave_Click(object sender, EventArgs e){message.IsSaveImage=checkSaveImage.Checked;message.IsSaveData=checksaveData.Checked;message.IsDelete=checkDelete.Checked;message.PathSaveData=txtSaveDataPath.Text;message.PathSaveImage=txtSaveImagePath.Text;message.SaveDay=Convert.ToInt32(txtSaveDays.Text.Trim());TotalMessage.GetInstance().ImageSavePath=message.PathSaveImage;TotalMessage.GetInstance().DataSavePath=message.PathSaveData;Settings.Default.IsSaveData = message.IsSaveData;Settings.Default.IsSaveImage = message.IsSaveImage;Settings.Default.IsDelete = message.IsDelete;Settings.Default.SaveDays=message.SaveDay;DialogResult res=MessageBox.Show("確認保存設置","保存設置",MessageBoxButtons.YesNoCancel,MessageBoxIcon.Question);if(res == DialogResult.Yes){Settings.Default.Save();message.WriteValues("路徑","ImageSavePath",message.PathSaveImage);message.WriteValues("路徑","DataSavePath",message.PathSaveData);MessageBox.Show("保存成功");}
五、ALL代碼
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using 九點標定項目.Class;
using 九點標定項目.Properties;namespace 九點標定項目
{public partial class FormSaveDataImage : Form{TotalMessage message = TotalMessage.GetInstance();public FormSaveDataImage(){InitializeComponent();message.IsSaveData=Settings.Default.IsSaveData;message.IsSaveImage=Settings.Default.IsSaveImage;message.IsDelete=Settings.Default.IsDelete;message.SaveDay=Settings.Default.SaveDays;message.PathSaveImage=TotalMessage.GetInstance().ImageSavePath;message.PathSaveData=TotalMessage.GetInstance().DataSavePath;}private void FormSaveDataImage_Load(object sender, EventArgs e){checkSaveImage.Checked = message.IsSaveImage ? true : false;checksaveData.Checked = message.IsSaveData ? true : false;checkDelete.Checked = message.IsDelete ? true : false;txtSaveDays.Text=message.SaveDay.ToString();txtSaveDataPath.Text = message.PathSaveData;txtSaveImagePath.Text=message.PathSaveImage;}private void btnSelectImagePath_Click(object sender, EventArgs e){//創(chuàng)建一個FolderBrowserDialog對象FolderBrowserDialog folder=new FolderBrowserDialog();folder.SelectedPath = message.PathSaveImage;if(folder.ShowDialog() == DialogResult.OK){txtSaveDataPath.Text=folder.SelectedPath;message.PathSaveImage = folder.SelectedPath;}}private void btnSelectDataPath_Click(object sender, EventArgs e){FolderBrowserDialog fold=new FolderBrowserDialog();fold.SelectedPath = message.PathSaveData;if(fold.ShowDialog() == DialogResult.OK){txtSaveDataPath.Text=fold.SelectedPath;message.PathSaveData=fold.SelectedPath;}}private void btnSave_Click(object sender, EventArgs e){message.IsSaveImage=checkSaveImage.Checked;message.IsSaveData=checksaveData.Checked;message.IsDelete=checkDelete.Checked;message.PathSaveData=txtSaveDataPath.Text;message.PathSaveImage=txtSaveImagePath.Text;message.SaveDay=Convert.ToInt32(txtSaveDays.Text.Trim());TotalMessage.GetInstance().ImageSavePath=message.PathSaveImage;TotalMessage.GetInstance().DataSavePath=message.PathSaveData;Settings.Default.IsSaveData = message.IsSaveData;Settings.Default.IsSaveImage = message.IsSaveImage;Settings.Default.IsDelete = message.IsDelete;Settings.Default.SaveDays=message.SaveDay;DialogResult res=MessageBox.Show("確認保存設置","保存設置",MessageBoxButtons.YesNoCancel,MessageBoxIcon.Question);if(res == DialogResult.Yes){Settings.Default.Save();message.WriteValues("路徑","ImageSavePath",message.PathSaveImage);message.WriteValues("路徑","DataSavePath",message.PathSaveData);MessageBox.Show("保存成功");}}}}