概览
- UI:WeChat
- 功能
- 用户头像
- 自定义文件存储路径
- 开机启动
- 保存设置项的配置信息
UI:WeChat
使用
SplitContainer
实现 UI 界面布局
功能
用户头像
*.cs:UploadAvatar.cs
添加设置项
项目 - 属性 - 设置 - 添加设置项
avatarPath
-string
-用户
-
此处我用的是 项目设置项 来存储用户自定义头像的绝对路径
-
后期整合到项目中只需要实现将该路径存储到数据库中对应的字段中即可
// 引入命名空间 项目.属性
using UserSettings.Properties;
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 System.IO;
using UserSettings.Properties;
namespace UserSettings
{
public partial class UploadAvatar : Form
{
public UploadAvatar()
{
InitializeComponent();
}
String avatarPath;
// 选择头像
private void btnAvatar_Click(object sender, EventArgs e)
{
//if (openFileDialog1.ShowDialog() == DialogResult.OK)
//{
// pictureBox1.Image = Image.FromFile(openFileDialog1.FileName);
//}
OpenFileDialog ofd = new OpenFileDialog();
ofd.Title = "选择头像";
ofd.Multiselect = false;
ofd.InitialDirectory = @"D:\";
ofd.Filter = "图片|*.jpg;*.png";
ofd.ShowDialog();
string path = ofd.FileName;
//MessageBox.Show(path);
pictureBox1.ImageLocation = path;
avatarPath = path;
//MessageBox.Show(avatarPath);
}
// 确认修改头像
private void btnSaveAvatar_Click(object sender, EventArgs e)
{
Settings.Default["avatarPath"] = avatarPath;
Settings.Default.Save();
//MessageBox.Show(Settings.Default["avatarPath"].ToString());
MessageBox.Show("修改成功", "修改头像", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
// Load 事件下显示默认/用户配置的头像
private void UploadAvatar_Load(object sender, EventArgs e)
{
pictureBox1.ImageLocation = Settings.Default["avatarPath"].ToString();
}
}
}
自定义文件存储路径
*.cs:FileSaved.cs
添加设置项
项目 - 属性 - 设置 - 添加设置项
fileSavedPath
-string
-用户
整合项目后哪些文件需要存储到该位置,调用默认配置变量(
Settings.Default["....."]
)即可
// 引入命名空间
using UserSettings.Properties;
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 System.IO;
using UserSettings.Properties;
namespace UserSettings
{
public partial class FileSaved : Form
{
public FileSaved()
{
InitializeComponent();
}
// 选择存储路径
private void btnPath_Click(object sender, EventArgs e)
{
FolderBrowserDialog dialog = new FolderBrowserDialog();
dialog.Description = "请选择文件路径";
if (dialog.ShowDialog() == DialogResult.OK)
{
string foldPath = dialog.SelectedPath;
labelPath.Text = foldPath;
}
}
private void btnSaved_Click(object sender, EventArgs e)
{
// 添加至默认配置
Settings.Default["fileSavedPath"] = labelPath.Text;
Settings.Default.Save();
MessageBox.Show("修改成功", "修改文件保存路径", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
private void FileSaved_Load(object sender, EventArgs e)
{
// 加载配置路径
labelPath.Text = Settings.Default["fileSavedPath"].ToString();
}
}
}
开机启动
*.cs:SystemStart.cs
添加设置项
项目 - 属性 - 设置 - 添加设置项
autoStart
-string
-用户
// 引入命名空间
using Microsoft.Win32;
using UserSettings.Properties;
// 确认开机启动的 btn 点击事件下。
private void button1_Click(object sender, EventArgs e)
{
if (this.radioButton1.Checked)
{
RegistryKey reg = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
reg.SetValue("ProgramName", Application.ExecutablePath.ToString()); // 指定程序名作为入参第一项。
MessageBox.Show("程序已经成功设置为开机自启动", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else if (this.radioButton2.Checked)
{
RegistryKey reg = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
reg.DeleteValue("ProgramName"); // 指定程序名入参
MessageBox.Show("已取消", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
保存设置项的配置信息
- 添加设置项
- 项目 - 属性 - 设置 - 添加设置项
avatarPath
-string
-用户
fileSavedPath
-string
-用户
autoStart
-string
-用户
- 考虑到
C/S
设置项保存在本地,所以功能中的 头像路径,文件存储路径,开机启动 均采用配置项存储。- 头像路径可以存储到 User Table’s avatar 字段中