今天介绍一下笔者自己用C#开发的一个小工具软件:壁纸管理器。

  开发这个小工具的初衷是因为Windows操作系统提供的功能个人不满意,而且现在闲着,所以就随意写了个代码。如果对读者有借鉴参考作用就更好了,能够直接代码段复用即可。这个壁纸管理器也比较简单,基于Winform开发,事件处理及一些操作类,使用了笔者这些天介绍的基于C#的功能模块的应用(见博文板块: 开源研究系列文章 )。

  1、  项目目录;

  下面是项目目录,主要的目录结构以前都有介绍过了吧:

  

  2、  代码介绍;

  代码也比较简单。壁纸分为单张、幻灯片、月历三大块。使用Panel对界面进行划分处理。具体的在操作类里有说明。

  

  3、  运行界面;

  笔者考虑过使用TabControl控件来显示,但是想到显示效果和用户体验问题,所以就使用了目前这个界面布局。

  

  4、  使用介绍;

  该小工具比较简单,能够设置随系统启动,这样下次开机直接就应用该设置。单张壁纸能够设置单次的壁纸项;幻灯片能够对选定目录里的壁纸集合进行顺序或随机显示;月历壁纸将对选定目录里的年份目录下的月份壁纸进行显示。

  5、  源码下载:

  下面提供项目工程源码下载:

  https://download.csdn.net/download/lzhdim/88179015

  上面介绍了笔者开发的这个小工具的内容,读者们如果觉得可以,下载个试试用下,如果能够将里面的代码进行复用,那就达到笔者的开源研究的思想了。后面笔者将会对Winform的开源控件库做介绍(最近笔者对Winform的界面及控件的动画效果比较感兴趣)。祝读者们能够复用此程序代码愉快。

个人用C#编写的壁纸管理器 - 开源研究系列文章的更多相关文章

  1. C#开发的线程池和管理器 - 开源研究系列文章

    上次编写了一个小软件,用于练手及自己的一个小工具集合.今天把其中的线程池和管理器的代码抽取出来,写成一个博文,让需要的朋友能够进行学习和应用. 这个线程管理器包括了3个类库和一个应用程序,见下图: 第 ...

  2. 如何通过WallpaperManager(壁纸管理器)设置与修改壁纸?

    WallpaperManager(壁纸管理器),是手机壁纸相关的一个API的相关类.其设置壁纸常有如下三种方法可调用: - setBitmap(Bitmap bitmap):将壁纸设置为bitmap所 ...

  3. .NET定时任务执行管理器开源组件–FluentScheduler

    在日常项目里通常会遇到定时执行任务的需求,也就是定时器..NET Framework里关于定时器的类有3个,分别是System.Windows.Forms.Timer.System.Timers.Ti ...

  4. 关系型数据库工作原理-客户端连接管理器(翻译自Coding-Geek文章)

    本文翻译自Coding-Geek文章:< How does a relational database work>.原文链接:http://coding-geek.com/how-data ...

  5. 用C#语言编写:集合管理器

    static void Main(string[] args)        {            List<int> numbers = new List<int>(); ...

  6. 我发起了一个用 .Net 编写的 源代码管理工具 开源项目 SourceKit

    发起这个 项目 的 起因 是 GitHub . Github 的 使用技能 俨然已经成了 一项新技术 , 这不是 工具 的 本意 . 我用过的 源代码 管理工具 不多,  SVN 我觉得不错 . 常用 ...

  7. Qt之布局管理器

    简述 Qt的布局系统提供了一个简单的和强有力的方式,来自动排列窗口子控件布局. 所有QWidget子类可以使用布局来管理他们的子控件.QWidget::setLayout()函数可以为一个控件布局.当 ...

  8. Python异常处理与上下文管理器

    Python异常处理 异常与错误 错误 可以通过IDE或者解释器给出提示的错误opentxt('a.jpg','r') 语法层面没有问题,但是自己代码的逻辑有问题if age>18: print ...

  9. asyncio之异步上下文管理器

    异步上下文管理器 前面文章我们提到了上下文管理器,但是这个上下文管理器只适用于同步代码,不能用于异步代码(async def形式),不过不用担心今天我们就来讨论在异步中如何使用上下文管理器. 特别提醒 ...

  10. 认识 Cargo-Rust构建工具和包管理器

    认识 Cargo-Rust构建工具和包管理器 上两篇文章 都有说到 hello world 程序,但是我们如果使用自己创建文件的方式创建项目,一旦文件多了,那得多麻烦,整个项目将变得难以管理.下面我来 ...

随机推荐

  1. 2020-03-01:给定一个非负数组arr,代表直方图。返回直方图的最大长方形面积。

    2020-03-01:给定一个非负数组arr,代表直方图.返回直方图的最大长方形面积. 福哥答案2020-03-01: 单调栈,大压小.有代码. 代码用golang编写,代码如下: package m ...

  2. 2022-02-27:k8s安装yapi,yaml如何写?

    2022-02-27:k8s安装yapi,yaml如何写? 答案2022-02-27: yaml如下: apiVersion: apps/v1 kind: Deployment metadata: l ...

  3. distinct()去重

    distinct()去重 Student.objects.all().distinct()

  4. AssertionError: Expected a `Response`, `HttpResponse` or `HttpStreamingResponse` to be returned from

    函数里面return response问题: 1.没有 2.写错 3.位置错 例如: return Response('确认成功')

  5. Node.js卸载与重装

    卸载第一步:打开系统自带的卸载功能,找到node js 进行卸载第二步:删除C:\Users\Administrator\AppData\Roaming文件下的npm.npm-cache或者如果是zi ...

  6. 从零玩转之JPOM自动化部署本地构建 + SSH 发布 java 项目

    简而轻的低侵入式在线构建.自动部署.日常运维.项目监控软件 一键部署Jpom 本文主要介绍: 如何从零开始使用一键安装的方式安装 Jpom 服务端+插件端配置 本文中服务端和插件端是安装在同一个服务器 ...

  7. 啊哈C语言案例学习笔记

    Hello World #include<stdio.h> /* 技术要点: 初学者在编写程序时,经常会忘记在语句后边添加分号, */ int main() { printf(" ...

  8. linux DHCP

    目录 一.DHCP概念 二.DHCP工作过程 三.DHCP实验 一.DHCP概念 概念:动态主机配置协议,自动为计算机分配tcp/ip参数 DHCP的优点:1.减少管理员的工作难度 2.避免错误的可能 ...

  9. vue使用import()提示语法错误

    一.使用import 引入 组件 二.编译时提示语法检测错误 三.解决方法 第一种方式:直接安装 D:\YLKJPro\CMWEB\03Implement\CustomMapWeb>npm in ...

  10. THM红队基础

    Red Team Fundamentals Learn the core components of a red team engagement, from threat intelligence t ...