当前位置: 欣欣网 > 码农

C# 修改配置文件进行窗体logo切换

2024-02-09码农

01

前言:题外的话

大家可能发现这个号现在原创越来越少了,其实小编并没有放弃持续更新,只是把一手原创放到了 【 dotnet编程大全 】这个号了,那个号目前原创主要更新的是wpf mvvm方面的知识,框架用的Caliburn.Micro,关于这个框架介绍,不了解的自行百度。有兴趣学习的可以关注:

相关经典原创文章链接:点击可以查看原文

02


主窗体

String title = LogoConfig.GetLogoConfig("Title");if(title.Length>0) {this.Text = title; panelCaption.Text = title; }String logoImage = LogoConfig.GetLogoConfig("Logo");if (logoImage.Length > 0) { logoImage = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "image\\" + logoImage); Image logo = Image.FromFile(logoImage); pictureLogo.Image = logo; } logoImage = LogoConfig.GetLogoConfig("Image");if (logoImage.Length > 0) { logoImage = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "image\\" + logoImage); Image brand = Image.FromFile(logoImage); pictureBrand.Image = brand; }

03


类文件

using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;namespaceEvenTHZSystem{ classLogoConfig {static Dictionary<string, string> logoconfigmap = new Dictionary<string, string>();staticbool bInitialized = false;publicstaticstringGetLogoConfig(string key) {if (!bInitialized) {try { String logoConfig = Path.Combine(AppDomain.CurrentDomain.BaseDirectory + "image\\logo.config");using (StreamReader reader = new StreamReader(logoConfig)) {while (!reader.EndOfStream) { String line = reader.ReadLine();string[] kv = line.Split('=');if (kv != null) { logoconfigmap.Add(kv[0], kv[1]); } } } }catch { } bInitialized = true; }stringvalue = "";try {value = logoconfigmap[key]; }catch { }returnvalue; } }}

配置文件: