- 博客(69)
- 收藏
- 关注
原创 C#多播委托
在 C# 语言中多播委托是指在一个委托中注册多个方法,在注册方法时可以在委托中使用加号运算符或者减号运算符来实现添加或撤销方法。在现实生活中,多播委托的实例是随处可见的,例如某点餐的应用程序,既可以预定普通的餐饮也可以预定蛋糕、鲜花、水果等商品。在这里委托相当于点餐平台,每一个类型的商品可以理解为在委托上注册的一个方法。下面通过实例来演示多播委托的应用。【实例】模拟点餐平台预定不同类型的商品。根据题目要求,在实例中分别预定快餐、蛋糕、鲜花三类商品,代码如下。...
2022-05-29 15:35:23 191
原创 LiveCharts后台使用
基本使用LiveCharts设计的很容易使用,所有的东西都可以自动的实现更新和动画,库会在它觉得有必要更新的时候进行更新,而并非每次你更改了数据的时候更新,当你添加或删除Series,添加或删除Values的时候,Chart会自己自动更新。你可以更多关注到你的业务代码上,绘图的事情它会帮你搞定。开始例子已经定义了很多可以绘图的类型,你可以在类型和自定义栏目当中找到更多信息。在下面这个例子当中,我们将会绘制double类型的值。后台代码图标类型选择CartesianChart,笛卡尔Chart,也即
2022-05-18 15:41:17 189
原创 C#事件event
C#事件:Event无论是企业中使用的大型应用程序还是手机中安装的一个 App 都与事件密不可分。例如在登录 QQ 软件时需要输入用户名和密码,然后单击“登录”按钮来登录 QQ,此时单击按钮的动作会触发一个按钮的单击事件来完成执行相应的代码实现登录的功能。在 C# 语言中,Windows 应用程序、 ASP.NET 网站程序等类型的程序都离不开事件的应用。事件是一种引用类型,实际上也是一种特殊的委托。通常,每一个事件的发生都会产生发送方和接收方,发送方是指引发事件的对象,接收方则是指获取、处理事件
2022-05-08 19:22:03 256
原创 序列化的概念
序列化就是把一个对象保存到一个文件或数据库字段中去。需要分清楚的概念:对象的序列化而不是类的序列化。对象的序列化表明C#提供了将运行中的对象(实时数据)写入到硬盘文件或者数据库中,此功能可以运用在需要保留程序运行时状态信息的环境下。使用序列化有两个最重要的原因:一个原因是将对象的状态永久保存在存储媒体中,以便可以在以后重新创建精确的副本;另一个原因是通过值将对象从一个应用程序域发送到另一个应用程序域中。前提:要将对象的类声明为可以序列化。最主要的作用有:1、在进程下次启动时读取上次保存的对象的信
2022-04-28 09:46:53 80
原创 RelativeSource属性
我们进行Bingding时,如果明确知道数据源的Name,就能用Source或者ElementName进行绑定,但是有时候我们需要绑定的数据源可能没有明确的Name,此时我们就需要利用Bingding的RelativeSource进行绑定,这种办法的意思是指当前元素和绑定源的位置关系。属性AncestorLevel以 FindAncestor 模式获取或设置要查找的上级级别。 使用 1 指示最靠近绑定目标元素的项。AncestorType获取或设置要查找的上级节点的类型。Mo
2022-04-20 15:53:38 318
原创 MVVMLight双向数据绑定
说到双向绑定,表达的效果很简单:就是在界面的操作对数据模型的修改能实时反映到数据;而数据的变更能实时展现到界面。即视图数据模型(ViewModel)和视图(View)之间的双向绑定和触发。第一步:先写一个Model,里面包含我们需要的数据信息,代码如下:第二步:写一个ViewModel,包含了View所需要的命令和属性第三步:在ViewModelLocator中注册我们写好的ViewModel:SimpleIoc.Default.Register();第四步:编写View效果如图所示(当修改输
2022-04-10 15:10:12 375
原创 MVVM简介
MVVM是Model-View-ViewModel的简写。类似于目前比较流行的MVC、MVP设计模式,主要目的是为了分离视图(View)和模型(Model)的耦合。它是一种极度优秀的设计模式,但并非框架级别的东西,由MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构。 立足于原有MVP框架并且把WPF的新特性糅合进去,以应对PC端开发日益复杂的需求变化。相对于之前把逻辑结构写在Code Behind 里面的方式,MVVM几乎完全解耦了视图和逻辑业务的
2022-03-28 16:36:58 2037
原创 备份数据库
首先打开Microsoft SQL Server,进来会显示如下图的登录页面,用Windows身份验证或者SQL Sever身份验证都行,但前提是Windows身份验证需要通过本机的服务器名称,正确的话不用输入密码就能登录了。SQL Sever身份验证登录需要输入登录名和密码,在安装Microsoft SQL Sever的时候创建的用户名以及密码。找到对象资源管理器,选中需要备份的数据库。如果连接进来什么都没有的话,找到视图-对象资源管理器打开就行。选中备份的数据库之后鼠标右键移动到任务然后点击备
2022-03-20 15:17:36 2984
原创 养老系统总结
1.登录页面输入账号密码点击登录按钮进行登录。不同的账号登入的部门不同,需要账号密码跟数据库中的账号密码一致才能登录到主页面。2.主页面主页面右上角是窗口的常用功能,最小化、最大化、关闭。左边是当前登录的部门,还有所使用的的头像,下方是功能导航。分为系统维护、接待管理、费用管理、护士工作站、医生工作站。3.入住人资料该模块是接待管理下的一个子页面,按要求填写完信息即可4.修改密码输入正确的原密码,两次输入的新密码一致即可成功修改密码。...
2022-03-16 15:10:51 325
原创 WPF动画2
1、动画的生命周期。从技术的角度看,WPF动画只是暂时的,这意味着它们不能真正改变基本属性的值,当动画处于活动状态时,只是覆盖了属性的值。单向动画,在动画运行结束后会保持处于活动状态,这是因为动画需要将按钮的宽度保持为新值,这会导致如下常见问题,如果尝试使用代码在动画完成后修改属性值,代码将不会起作用,因为代码只是为属性指定了一个新的本地值,但仍会先试用动画之后的属性值。为了解决动画完成后能修改属性的值,有以下方法可解决。(1)、设置AutoReverse属性,如果将该属性设置为true,将会反向运动,
2022-02-24 14:56:41 141
原创 WPF动画1
1、基本动画。XAML三个顶级元素WPF提供了一个更高级的模型,通过该模型可以只关注动画的定义,而不考虑它们的渲染方式,这个模型基于依赖项属性基础架构,本质上,WPF动画只不过是在一段时间间隔内修改依赖项属性值的一种方式。不过还有另外一个限制,为了实现属性的动态化,需要有支持相应数据类型的动画类,例如Button.Width属性使用双精度数据类型,为实现属性的动态化,需要使用DoubleAnimation类,但Button.Padding属性使用的是Thickness结构,所以需要使用ThicknessA
2022-02-24 14:54:26 83
原创 Windows窗体3
窗口的生命周期关于各事件的描述:Initialized:当窗口的FrameworkElement底层初始化时触发,即InitializeComponent方法调用时触发。LocationChanged:窗口被移动时触发。Activated:窗口被激活时触发。Deactivated:窗口处于非激活时(即其他窗口处于激活时)触发。Loaded:显示窗口之前触发。ContentRendered:当内容显示的时候触发。Closing:尝试关闭窗口时触发,可以将参数CancelEventArgs的.
2022-02-24 11:05:19 207
原创 Windows窗体2
窗口的大小Width、Height,分别表示窗口的宽度和高度,称为“尺寸属性”。MaxWidth、MinWidth、MaxHeight、MinHeight,分别表示窗口最大宽度、最小宽度、最大高度、最小高度。可以通过得到和更改这些属性值,来获取和改变窗口的大小和长宽范围。ActualWidth、ActualHeight,分别表示窗口的实际宽度和实际高度,称为“实际尺寸属性”。实际尺寸属性是根据当前窗口大小、最小化时窗口大小和最大化时窗口大小来计算得到的,其值是只读的,也就是说,不能通过改变Actu.
2022-02-24 10:53:50 119
原创 Windows窗体1
窗口的外观WPF中默认窗口框架的外观,主要取决于Icon、Title、WindowStyle、ResizeMode等属性。Icon 指定窗口的图标;Title 指定窗口的标题;WindowStyle指定窗口样式,有4个取值:None,无边框;(当ResizeMode属性为NoResize时,仅剩下窗口核心。)SingleBorderWindow,单边框【默认】; ThreeDBorderWindow,3D边框;ToolWindow,工具箱窗口ResizeMode是指定大小调节样式,有4个取值.
2022-02-24 10:48:56 82
原创 XAML资源
资源是可以在应用程序的不同位置重用的对象。XAML资源的示例包括画笔和样式。每个框架级别的元素(FrameworkElement或FrameworkContentElement)都有一个resource属性,该属性包含资源定义的资源(作为ResourceDictionary)。可以在任何元素上定义资源,但是资源通常是在根元素上定义的。当在页面根元素上定义一个资源时,页面逻辑树中的所有元素都可以访问它,并且您可以重用相同的资源来设置接受该资源表示的类型的任何属性的值。可以将资源引用为静态资源或动态资源。这可以
2021-12-29 16:22:59 98
原创 WPF控件分类
布局控件:是可以容纳多个控件或者嵌套其他布局的控件,用于在UI上组织和排列控件。Grid、StackPanel、DockPanel等控件都属此类,它们拥有共同的父类为Panel。内容控件:只能容纳一个控件或者布局控件作为他的内容。Window、Button等控件属于此类,因为只能容纳一个控件作为其内容,所以经常借助布局控件来规划其内容。它们的共同父类是ContentControl。带标题内容控件:相当于一个内容控件,但是可以加一个标题(Header),标题部分亦可容纳一个控件或者布局,GroupB
2021-12-19 08:26:59 175
翻译 WPF布局
XAML布局元素(常用重点)Grid:网格。可以自定义行和列并通过行列的数量、行高列宽来调整控件的布局。近似Html中的table。DockPanel:泊靠式面板。内部元素可以选择泊靠的方向(上下左右),类似于Winform中设置控件的Dock属性。StackPanel:栈式面板。可将包含的元素在水平或垂直方向排成一条线,当移除一个元素后,后面的元素会自动向前填充空缺。(菜单栏)WrapPanel:自动折行面板(环绕面板)。内部元素在排满一行后能够自动折行,类似于Html中的流式布局。Unifor
2021-12-08 08:33:03 173
原创 WPF的5种绑定模式
WPF的绑定模式(mode)是枚举的 枚举值共有5个1:OneWay(源变就更新目标属性)2:TwoWay(源变就更新目标并且目标变就更新源)3:OneTime(只根据源来设置目标,以后都不会变)4:OneWayToSource(与OneWay相反)5:Default(可以单向或双向,是靠被值定的源或目标是否有get或set来指定的)所以绑定的话是需要选上面5个中的一个模式的,根据你的需要来选择,不选的话就会自动选择第五个的。或者:1:OneWaySource影响着Target,但是Ta
2021-11-28 19:27:53 185
原创 正则表达式 3
三、特殊需求表达式Email地址:^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)$域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+.?InternetURL:[a-zA-z]+://[^\s] 或 ^http://([\w-]+.)+[\w-]+(/[\w-./?%&=])?$手机号码:^(13[0-9]|14[5|7]|15[0|1|2|3|4|5|6|7|8|9]|18[0
2021-11-24 15:23:25 100
原创 正则表达式
特殊需求表达式Email地址:^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)$域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+.?InternetURL:[a-zA-z]+://[^\s] 或 ^http://([\w-]+.)+[\w-]+(/[\w-./?%&=])?$手机号码:^(13[0-9]|14[5|7]|15[0|1|2|3|4|5|6|7|8|9]|18[0|1
2021-11-08 08:19:32 54
原创 正则表达式2
校验字符的表达式汉字:1{0,}$英文和数字:2+$ 或 3{4,40}$长度为3-20的所有字符:^.{3,20}$由26个英文字母组成的字符串:4+$由26个大写英文字母组成的字符串:5+$由26个小写英文字母组成的字符串:6+$由数字和26个英文字母组成的字符串:7+KaTeX parse error: Undefined control sequence: \w at position 25: …字母或者下划线组成的字符串:^\̲w̲+ 或 ^\w{3,20}$中文、英文、数字包括下
2021-10-12 08:12:52 74
原创 正则表达式
校验数字的表达式数字:1$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9])$非零开头的最多带两位小数的数字:^([1-9][0-9])+(.[0-9]{1,2})?$带1-2位小数的正数或负数:^(-)?\d+(.\d{1,2})$正数、负数、和小数:^(-|+)?\d+(.\d+)?$有两位小数的正实数:2+(.[0-9]{2})?$有1~3位小数的正实数:3+(.[0-9]{1,3})?$
2021-09-27 10:07:54 52
原创 分层模式1
分层模式是最通用的架构,也被叫做N层架构模式模式分析分层架构模式里的组件被分成几个平行的层次,每一层都代表了应用的一个功能(展示逻辑或者业务逻辑)。尽管分层架构没有规定自身要分成几层几种,大多数的结构都分成四个层次: 表现层,业务层,持久层,和数据库层。如图一,有时候,业务层和持久层会合并成单独的一个业务层,尤其是持久层的逻辑绑定在业务层的组件当中,形成。因此,有一些小的应用可能只有3层,一些有着更复杂的业务的大应用可能有5层或者更多的分层架构里的层次是具体工作的高度抽象,它们每一层都有特定的角色和
2021-09-17 10:38:15 122
原创 B-S架构和C-S架构区别
CS即Client/Server(客户机/服务器)结构,C/S结构在技能上非常成熟,它的重要特征就是交互性强、拥有安全的存取形式、网络通信数量低、响应速度快、利于处置大量数据。可是这个结构的程序就是针对性开发,变更不够灵活,维护与管理的难度较大。常常只局限在小型局域网,不利于扩展。而且,因为这个结构的每台客户机全部须要安装相对应的客户端程序,分布功能弱并且兼容性差,不可以完成迅速部署安装与配置,因为这样缺少通用性,拥有比较大的局限性。请求拥有肯定专业水准的技能人员去结束。BS即Browser/Server
2021-09-06 08:23:55 504
原创 Using关键字用法
在C# 中 using的用途主要有三个(1)第一个是 引用命名空间// 这个可以说是最常用的(2)第二个是 为命名空间或类型创建别名。这称为“using 别名指令”。(3)第三个是当使用 IDisposable 对象时,应在 using 语句中声明和实例化此对象。using 语句按照正确的方式调用对象上的 Dispose 方法,并(在您按照前面所示方式使用它时)会导致在调用 Dispose 时对象自身离开作用域。在 using 块中,对象是只读的并且无法修改或重新赋值。 using 语句确保即使在调
2021-08-28 08:52:00 150
原创 WPF基础
XAML语言XAML语言是微软公司为构建应用程序用户界面而创建的一种新的“可扩展应用程序标记语言”,提供了一种便于扩展和定位的语法来定义和程序逻辑分离的用户界面。特点: 1.定义应用程序的界面元素 2.显示的声明WPF资源(样式、模板、动画等) 3.可扩展性(自定义UI控件) 4.集中关注于界面的设计和实现XAML命名空间开发语言会将常用功能以类的形式封装,开发人员根据自己的业务需求,也会封装满足自身业务需求的类,如果有序组织这些类?一方面,便于开发人员准确调用;另一方面,编译器可以有效识别具有相同
2021-07-28 08:27:38 169
原创 进销存项目功能实现
这次要实现的功能是模糊查询:模糊查询需要一个输入框以及一个查询按钮还有模糊查询的功能。下图就是写查询按钮然后还需要些一个表格查询刷新方法然后在控制器里面写这个查询的功能...
2021-07-06 08:04:01 106
原创 JavaScript regexp对象
正则表达式是描述字符模式的对象。正则表达式用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。var patt=new RegExp(pattern,modifiers);或者更简单的方式:var patt=/pattern/modifiers;pattern(模式) 描述了表达式的模式modifiers(修饰符) 用于指定全局匹配、区分大小写的匹配和多行匹配注意:当使用构造函数创造正则对象时,需要常规的字符转义规则(在前面加反斜杠 \)。比如,以下是等价的:var re
2021-06-27 09:08:27 89
原创 html事件
其他事件事件 描述onmessage 该事件通过或者从对象(Websocket,Web Worker,Event Source或者子frame或父窗口)接收到消息时触发onmousewheel 已废弃。使用onwheel事件替代ononline 该事件在浏览器开始在线工作时触发。onoffline 该事件在浏览器开始离线工作时触发。onpopstate 改时间在窗口的浏览历史(history对象)发生改变时触发onshow 该事件当元素在上下文菜单显示时触发onstorage 该事件在Web
2021-06-17 08:07:06 135
原创 HTML DOM 事件
多媒体事件事件 描述onabort 事件在视频/音频终止加载时触发Oncanplay 事件在用户可以开始播放视频/音频时触发Oncanplaythrough 事件在视频/音频可以正常播放且无需停顿和缓冲时触发Ondurationchange 事件在视频/音频的时长发生变化时触发Onemptied 当期播放列表为空时触发Onended 事件在视频/音频播放结束时触发Onerror 事件在视频/音频数据加载期间发生错误时触发Onloadeddata 事件在浏览器加载视频/音频当前帧时触发On
2021-06-08 09:05:08 81
原创 HTML DOM事件
剪贴板事件属性 描述oncopy 该事件在用户拷贝元素内容时触发oncut 该事件在用户剪切元素内容时触发onpaste 该事件在用户粘贴元素内容时触发键盘事件属性 描述onkeydown 某个键盘按键被按下onkeypress 某个键盘按键被按下
2021-05-27 08:10:04 69
原创 PowerDesigner将数据库从sqlserver导出
首先,先打开PowerDesigner然后新建一个物理数据模型。在上方找到菜单栏有一个叫File的菜单点击它然后弹出一个下拉框找到如下图红线所示的New Model开头的东西点击它。然后进入到下一步。现在下图这个是New Model页面,左侧有Categones与Model types两个按钮,选择下面那个名为Model types的按钮。然后右边有一个叫Model type的东西,这个意思是模型类型。然后在下面找到Physical Data Mode选择它,再接着在右边还有两个按钮选择,选择左边那个叫
2021-05-17 16:06:22 627
原创 ASP.NET MVC 介绍
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架ASP.NET 支持三种不同的开发模式:Web Pages(Web 页面)、MVC(Model View Controller 模型-视图-控制器)、Web Forms(Web 窗体)。MVC 编程模式MVC是三种ASP.NET编程模式中的一种。MVC 是一种使用MVC(Model View Controller模型-视图-控制器)设计创建Web应用程序的模式。Model(模型)表示应用程序核心(
2021-05-07 10:29:28 1197
原创 PowerDesigner创建数据库
现在开始使用PowerDesigner创建数据库,首先运行程序进入主页面,单击工具栏里的table工具,然后鼠标左键在空白页面上点一下就会新建一个表格出来。接着在这个空白表里面给它加上数据,鼠标左键双击这个表格会弹出一个框来,name是表名code是保存到数据库中的名字,这里把表的名称搞好之后就可以点击上面一行叫columns的给这个表中添加数据。这个表中的数据按照下图中这个标准添加就行了,name是字段名,code是sql中的字段名datatype是数据类型。Length是长度,Primary是主
2021-04-28 10:44:01 162
原创 PowerDesigner快速的创建出数据库
一:PowerDesigner快速的创建出数据库1.现在开始使用PowerDesigner创建数据库,首先运行程序,进入主界面:2.File—New Model—Physical Data Model—Physical Diagram—Model name 设置为test,DBMS属性设置为Microsoft SQL Server 20143.首先用表格工具创建一个表格模板4.双击表格模板,设置属性,我们首先设置Major表Name: 实体名字一般为中文如论坛用户Code: 实体代号,一般
2021-01-20 16:52:00 157
原创 如何在Visual Studio 中引用数据库
先打开项目,然后在vs的右边会显示一个解决方案资源管理器。如果没有的话,可以在vs上方的工具栏里面找到视图-解决方案资源管理器。打开之后会显示在右侧会显示很多文件夹,这个文件夹里面的内容就是你项目中的内容。然后你想把引入的数据库放在哪个文件夹就在这个文件夹引入,当然,你也可以新建一个文件夹来存放引入的数据库。新建文件夹方法如下,第一步,点击自己项目的名称,然后光标移至添加鼠标右键一下,会弹出一个显示框,显示框里面有一个选项是新建文件夹。创建好文件夹之后就在刚刚创建的这个文件夹上面鼠标右键-添加-
2021-01-20 16:49:10 3368
原创 创建项目
在Visual Studio 中创建项目,首先进入Visual Studio,然后在里面的菜单栏里面的文件,再点击新建,最后点击项目,然后弹出来下图,根据图片里面选择要创建的显目,然后,填写项目的名称,还有文件位置,然后确定。确定后又弹出下图这个页面,然后选择第一个也就是EMpty这个模板,然后在为以下项添加文件夹和核心引用:的这个地方,选择第二个也就是MVC,选择后然后确定。确定后会弹出一个弹窗,就是下图,直接点取消后这个项目就创建完成了。...
2021-01-20 16:46:45 119
原创 Axure随机移动效果
撰写人:黄文政 创建时间:2021年1月18日先打开Axure,新建一个文件之后。然后在左下角元件库里找一个矩形,鼠标左键长按拖拽至右边空白页面。选中这个矩形,给这个矩形设置宽高以及填充颜色,还有把它的边框去掉我给这个矩形设置宽200px高200px的正方形,填充颜色为#996699。也可以自己设计喜欢的图形出来,我这个矩形只是做一个参考。然后选中这个矩形,在右边的地方有一个叫属性的点进去找到鼠标单击时交互用例。双击它弹出样式框。在里面找到移动然后选择当前元件,接着在下方设置样式。移动有绝对位
2021-01-18 16:24:48 829
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人