前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C# 修改配置文件进行窗体logo切换

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

作者头像
JusterZhu
发布2022-12-07 20:04:32
1.1K0
发布2022-12-07 20:04:32
举报
文章被收录于专栏:JusterZhuJusterZhu

以下文章来源于CSharp编程大全 ,作者zls20210502

01

前言:题外的话

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

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

C# WPF框架Caliburn.Micro快速搭建

C# WPF框架Caliburn.Micro入门实例1

C# WPF MVVM项目实战(进阶①)

C# WPF MVVM项目实战(进阶②)

C# WPF项目实战

C# WPF mvvm模式下combobox绑定(list<enum>、Dictionary<int,string>)

C# WPF MVVM模式下在主窗体显示子窗体并获取结果

C# WPF Caliburn.Micro框架下利用Mef加载其它项目界面

C# WPF文本框TextEdit不以科学计数法显示

C# 通过正则表达式来限制控件输入有效性

C# datagridview、datagrid、GridControl增加行号

C# =>符号的使用

C# 无意间写了一段线程死锁的代码

C# 看懂这100+行代码,你就真正入门了(经典)

C# WPF项目实战(经典)

WPF 如何修改button圆角(经典)

WPF XAML 为项目设置全局样式

02—主窗体

代码语言:javascript
复制
 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

类文件

代码语言:javascript
复制
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;
        }
    }
}

配置文件:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-10-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JusterZhu 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档