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

主窗体

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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;
           }

  类文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace EvenTHZSystem
{
    class LogoConfig
    {
        static Dictionary<string, string> logoconfigmap = new Dictionary<string, string>();
        static bool bInitialized = false;
        public static string GetLogoConfig(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;
            }
 
            string value = "";
            try
            {
                value = logoconfigmap[key];
            }
            catch { }
            return value;
        }
    }
}

  

配置文件:

 

 

 

----------------------------------------------------

以上就是本节的全部内容,需要进技术交流群的,请加小编微信zls20210502,切记备注 进群

posted @   zls366  阅读(140)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示