主要步骤: ChatGPT的回答: 你可以尝试使用VisualStudio创建一个类库项目,然后将你写的两个类添加到该项目中,并进行编译,最终生成DLL文件。具体步骤如下: 打开VisualStudio,选择"文件"->"新建"->"项目"; 在"新建项目"窗口中,选择"类库(.NETFramework)",设置项目名称和位置,并单击"创建"; 在"解决方案资源管理器"中,右键点击"类库项目",选择"添加"->"现有项",然后选择你写的两个类(.cs文件); 选中两个类文件,右键点击,选择"属性",将"生成操作"设为"编译"; 点击生成菜单,选择"生成解决方案",等待编译...

  dlXIUGPeV4Rb   2023年11月02日   91   0   0 .NET

关于WPF和XAML 什么是WPF WPF(WindowsPresentationFoundation)是由微软开发的桌面应用程序框架,用于创建现代化、高度交互和具有视觉吸引力的用户界面。它是.NETFramework的一部分,提供了一种基于XAML(ExtensibleApplicationMarkupLanguage)语言的声明性编程模型,可以很容易地创建动态、灵活的用户界面,并且可以与其他.NET技术无缝集成。WPF还具有强大的数据绑定和可重用性,使开发人员可以更快地构建和维护应用程序。WPF也支持硬件加速和高分辨率显示,为用户带来更好的体验。 WPF和Winform的区别 WPF(Wi...

  dlXIUGPeV4Rb   2023年11月02日   36   0   0 .NET

日常开发过程中,验证字符的合法性一直是一个必不可少的步骤,以前都是在用户输入完再做判断,不仅麻烦在不符合标准的时候还要提示用户修改,体验很差,为什么不在输入的时候加以限制呢? 以Winform的TextBox控件为例,这里提供两种方案: 通过字符匹配 正则表达式 在用户输入时限制,所以选用KeyPress事件。 字符匹配 privatevoidtxt_Address_KeyPress(objectsender,System.Windows.Forms.KeyPressEventArgse) { //只允许输入字母和数字 if(!char.IsLetterOrDigit(e.KeyCha...

  dlXIUGPeV4Rb   2023年11月02日   95   0   0 .NET

一般方法 System.Windows.Forms.Screen类 //获取当前主屏幕分辨率 intscreenWidth=Screen.PrimaryScreen.Bounds.Width; intscreenHeight=Screen.PrimaryScreen.Bounds.Height; //获取指定屏幕分辨率 ScreensecondaryScreen=Screen.AllScreens[1]; intsecondaryScreenWidth=secondaryScreen.Bounds.Width; intsecondaryScreenHeight=secondaryScreen...

  dlXIUGPeV4Rb   2023年11月02日   48   0   0 .NET

前言 日常开发过程中,格式转换是必不可少的重要环节,经常是十进制转十六进制、十六进制转byte数组又转换回来来回转换,最然进制转换很基础同时C也提供了很多直接方便进行格式转换的方法,但是封装一个工具类会方便很多,不用每次都手写代码逻辑,之前一直都是简单的自己写,稍复杂的就用前辈写好的直接调用,这次自己写一个。 简单的定义为一行代码完事,多一行都不写👻。 得力 常见数制:十进制、二进制、十六进制、八进制所谓进制,就是逢几进一。 在线进制转换 菜鸟教程进制转换工具有常见进制转换原理讲述 计算机中的所有数据都是二进制,换言之,二进制是计算机数据存储的基础 内存地址一般使用的是十六进制 8个...

  dlXIUGPeV4Rb   2023年11月02日   43   0   0 .NET

简单字符串加密 编写一个应用程序用来输入的字符串进行加密,对于字母字符串加密规则如下:'a→d’‘b'→’e’‘w’→z'......x'→’a’‘y'→b'‘z→c’‘A’→’D’‘B'→’E’‘W’→’Z’‘X’→’A’‘Y’→’B’‘Z’→’C’?对于其他字符,不进行加密。 staticvoidMain(string[]args) { stringstr=Console.ReadLine(); Char[]chars=str.ToCharArray(); for(inti=0;i<chars.Length;i) { if((chars[i]>='a'&&c...

  dlXIUGPeV4Rb   2023年11月02日   32   0   0 .NET

常量 constdoublePI=3.1415926; 常量名命名一般使用大写字母 枚举类型 开发一个游戏,游戏角色有法师(Mage)、射手(Archer)、刺客(Assassin)、坦克(Tank)、铺助(Support)、战士(Warrior),等不同类型。 ❓如何存储游戏角色 使用int类型:创建一套规则,提前为各个类型角色绑定一个数字标识 使用枚举类型 什么是枚举类型? 枚举类型是一种特殊的值类型,可以在枚举类型中定义一组命名的数值常量。 如何声明枚举类型? enum<enum_name> { value1, value2, value3, ... ...

  dlXIUGPeV4Rb   2023年11月02日   53   0   0 .NET

前言 之前有个项目需要执行一个略微耗时的操作大概五六七八九十秒这样子,这个时候程序不能做其他操作,只能等待操作完成。为了提升一丝使用体验同时让Winform程序看上去高级一点🎃🎃🎃,就想到加一个遮罩层(MaskLayer)。虽然Winform没有原生的遮罩层,但是实现起来也不是很麻烦。 遮罩层在Winform的实现方式一般分为两种: 自定义控件,继承Contorl重写来实现遮罩层 新建一个假窗体来达到同样的效果 懒人懒人,当然要用最少代码干最多的活喽🥂🥂🥂,我们来通过新窗体来实现。 功能介绍以及代码实现 原理很简单,就是新建一个有一定透明度的空白窗体,边框样式设置为无边框,启动...

  dlXIUGPeV4Rb   2023年11月02日   44   0   0 .NET

前言 C是一种面向对象、类型安全的语言。 ❓什么是面向对象 面向对象编程(OOP)是如今多种编程语言所实现的一种编程范式,包括Java、C、C。 面向对象编程将一个系统抽象为许多对象的集合,每一个对象代表了这个系统的特定方面。对象包括函数(方法)和数据。一个对象可以向其他部分的代码提供一个公共接口,而其他部分的代码可以通过公共接口执行该对象的特定操作,系统的其他部分不需要关心对象内部是如何完成任务的,这样保持了对象自己内部状态的私有性。 面向对象和面向过程的区别: 面向对象:用线性的思维。与面向过程相辅相成。在开发过程中,宏观上,用面向对象来把握事物间复杂的关系,分析系统。微观上,仍然使用面...

  dlXIUGPeV4Rb   2023年11月02日   67   0   0 .NET

本篇博文对接上篇末尾处WPF常用布局控件的综合应用,为痕迹g布局控件介绍课后作业的一个思路方法。 前言 首先来谈一谈布局原则: WPF窗口只能包含一个元素(Window元素属于内容控件,内容控件只允许有一个子元素),所以我们得在窗口中放置一个容器,才能使我们的窗口放置更多的内容。 所以在WPF中,布局由容器决定,使用容器布局需要注意以下几点: 不要显示设置元素的尺寸:可以通过设置最大和最小尺寸来限定范围。 不要使用屏幕坐标来指定元素位置:根据元素在那种容器中,来合理安排元素的位置。如需要元素之间留白,可以使用Margin设置边距。 可以嵌套布局容器:新建WPF程序会默认提供一个Grid容...

  dlXIUGPeV4Rb   2023年11月02日   46   0   0 .NET

传统桌面客户端的远程调试相比UWP,ASP等项目来说,配置比较麻烦,因为它是非部署的应用程序,原理是复制编译的文件到远程计算机,通过网络来连接和VS的通信,本文主要讲述WPF,WinForm应用程序的远程调试。 安装RemoteDebuger 下载适合VisualStudio版本的最新远程工具。最新的远程工具版本与早期的VisualStudio版本兼容,但早期的远程工具版本与后来的VisualStudio版本不兼容。(例如,如果使用的是VisualStudio2019,请下载VisualStudio2019远程工具的最新更新。在这种情况下,请不要下载VisualStudio2022...

  dlXIUGPeV4Rb   2023年11月02日   45   0   0 .NET

慢慢来,谁还没有一个努力的过程。--网易云音乐 概述 数据绑定概述(WPF.NET) 什么是数据绑定? 数据绑定(DataBinding)是WPF一种强大的机制,用于在应用程序的各个部分之间建立数据的双向关联。它允许你将数据从一个源(例如对象、集合、数据库等)绑定到目标控件的属性,实现数据的自动同步和更新。 简单来说,数据绑定是一种在WPF中建立关系的机制,用于将数据源的值与目标对象(如控件的属性、集合的项等)进行动态绑定,实现数据的自动更新和同步。如果绑定具有正确的关系,并且数据提供适当的通知,则在数据更改其值时,绑定到该数据的元素会自动反映更改。此外,数据绑定还意味着如果元素中数据...

  dlXIUGPeV4Rb   2023年11月02日   42   0   0 .NET

如果预计中的不幸没有发生的话,我们就会收获意外的喜悦。--人生的智慧叔本华 WPF属性系统 这一部分是中途加的,直接依赖属性有点迷糊😪,正好有了绑定的基础,理解起来还一些。 WPF提供一组服务,这些服务可用于扩展公共语言运行时(CLR)属性的功能。这些服务通常统称为WPF属性系统。由WPF属性系统支持的属性称为依赖属性。 在WPF中,属性可以分为以下几类: CLR属性(CLRProperties):CLR属性是指使用C或其他.NET语言在代码中定义的普通属性,通常用于表示类的内部状态或行为,并不具备依赖属性的高级特性。 相关属性(RelatedProperties):相关属性指的是一组...

  dlXIUGPeV4Rb   2023年11月02日   34   0   0 .NET

我们把世界看错,反说它欺骗了我们。--飞鸟集 前言 相较而言,命令对我来说是一个新概念,因为在Winform中压根没有所谓的命令这个概念🥲。从文字角度理解,"命令"可以指代一种明确的指令或要求,用于向某个实体传达特定的操作或行为。它可以是一个动词性的词语,表示对某个对象或主体的要求或指示。命令通常具有明确的目标和执行内容,它告诉接收者要执行什么操作,并在某种程度上对行为进行约束。 在软件开发中,"命令"是一种设计模式,它描述了将操作封装为对象的方法,以便在不同的上下文中使用和重用。这种命令模式通过将请求和操作封装到一个命令对象中,使得发送者和接收者之间解耦,从而实现了更灵活和可扩展的设计...

  dlXIUGPeV4Rb   2023年11月02日   43   0   0 .NET

下午写了一个操作XML文件的类库,后来不用了,水篇文章存个档📋 整体功能 XMLHelper.cs主要提供以下功能: 加载XML文件:从文件路径或字符串中加载XML文档,并返回XmlDocument对象。 保存XML文件:将XmlDocument对象保存为XML文件。 读取XML文件到DataTable:将XML文件中的数据读取到DataTable对象中。 生成XML文件:生成一个新的XML文件,并指定根节点名称。 从DataTable更新XML文件:将DataTable对象中的数据更新到XML文件中。 获取节点值:根据XPath表达式获取指定节点的值。 设置节点值:根据XPath表达...

  dlXIUGPeV4Rb   2023年11月02日   26   0   0 .NET

宇宙很大,生活更大,也许以后还有缘相见。--三体🌌 💭该篇作为[WPF入门笔记04数据绑定]AdditionalContent章节的补充内容 前言 XAML资源概述(WPF.NET) WPF中的每一个元素都有一个Resources属性,该属性存储了一个资源字典集合。一般来说,可以把WPF的资源按照不同的性质分为两种程序集资源(AssemblyResources)和逻辑资源(LogicalResources): 程序集资源(AssemblyResources)或二进制资源(BinaryResources):MSDN称其为应用资源,这些资源通常是嵌入在应用程序的程序集中的文件,例...

  dlXIUGPeV4Rb   2023年11月02日   43   0   0 .NET

MaterialSkin.2控件包是在MaterialSkin及基础上二次开发而来的,在原控件基础上修复了一些Bug,丰富了主题以及动画效果,效果非常好。 MaterialSkin.2现在处于不活跃状态 文中用MaterialSkin代替MaterialSkin.2 Preview 先贴几张演示Demo中的效果图: ...... Install 在NuGet中搜索MaterialSkin就能找到控件包,直接安装就行: 注意版本框架 工具箱可能不会显示MaterialSkin的控件,需要我们手动添加下: 工具箱->右击:添加选项卡->把NuGet安装包里的DLL...

  dlXIUGPeV4Rb   2023年11月02日   196   0   0 .NET

在使用Winform开发桌面应用时,工具箱预先提供了丰富的基础控件,利用这些基础控件可以开展各类项目的开发。但是或多或少都会出现既有控件无法满足功能需求的情况,或者在开发类似项目时,我们希望将具有相同功能的模板封装成一个标准控件等,在这些场景下,winform自带的控件就有些乏力了,需要我们自己开发一些控件。 本篇开篇于DataGridView控件的分页效果,当数据量大的时候,分页是必要的,但是控件本身是没有分页功能的,所以需要自己实现。 我不是专业的控件开发人员,所以写下这篇文章作为学习过程中的记录。 前言 .NET提供了丰富的控件创作技术,自定义控件主要分为三类WindowsFormsCo...

  dlXIUGPeV4Rb   2023年11月02日   116   0   0 .NET

滴咚,大家好久不见💖。好就没写东西了,鸽着鸽着就无了😭。。。 回到正题,上篇文章说完命令提了一嘴MVVM模式直接就上MVVMLight这些程序的框架了,虽然也没说多少,但还是有点不好过渡,这篇对MVVM做一些系统学习,同时复习一下前几篇博文中的内容,完成一个采用MVVM模式的示例Demo。 🎶小插曲 给N早之前文章中的可能混淆的内容做下说明关于WPF入门笔记04数据绑定OneWayToSource文本框爆红现象: 在那篇文章一开始给初值是没问题的,因为OneWayToSource是将数据从绑定目标传递到绑定源,所以不给初值一定会出现绑定失败的问题 文本框爆红我觉得和绑定模式没有关系,...

  dlXIUGPeV4Rb   2023年11月02日   30   0   0 .NET

感谢大家对上篇博文的支持💕 回到正题,今天和大家分享下学习动画过程中的内容。动画对我来讲还是蛮新鲜的,大家知道在接触WPF之前我只用过Winform,而Winform中并没有动画的概念,当想要实现某些“动画”效果时,我们必须从头构建自己的动画系统,正如微软文档中对动画的介绍,在Winform中做动画我们一般会结合计时器和一些绘图逻辑来实现我们想要的“动画”。 比如,我想让一个矩形逐渐从视野中消失,大概率会按照以下步骤来完成这项工作: 创建一个计时器 设定适当的Interval让计时器检查经历了多长时间 在每次进入计时器时,根据时间计算矩形的透明度 然后更新这个矩形 虽然这种方案看上去...

  dlXIUGPeV4Rb   2023年11月02日   22   0   0 .NET
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~