- 博客(73)
- 资源 (10)
- 问答 (2)
- 收藏
- 关注
转载 cin.get()的用法
缓冲区还存着d,g,[Enter],如果之后又来一句cin.get(ch),会从里面接着取,还是一样的输入,a+s+d+f+[Enter],输出如下图所见。注意:上述例子中,比如当我输入任意字符+[Enter],包括[Enter]+[Enter]这种情况时,前一个字符会被输出,而后面的[Enter]并不会消失,而是被放在缓冲区,当又遇到一句cin.get(),这时候由于缓冲区不为空,不会从键盘获得输入,而是从缓冲区获取字符,获得就是[Enter]那么问题来了,如果我输入的是空格,或者回车呢?
2022-11-16 11:29:57 692 1
原创 [Prism] - [1] - Shell 创建
Shell 的两种创建方式:Bootstrapper PrismApplication一. Bootstrapper1. 创建继承 PrismBootstarpper 的类.class Bootstrapper : PrismBootstrapper { /// <summary> /// 创建一个壳子容器, 相当于房子的墙. /// </summary> /// <returns>
2022-01-20 09:15:43 428
原创 [Prism] - 简介
Prism 8.0 框架包含的几个 Nuget 包:1、Prism.Core: Prism 框架的核心代码, 与 UI 呈现2、Prism.WPF: 有关 Prism 框架的 WPF 版本的 UI 呈现3、Prism.Unity: Prism 的实现框架之一,本系列只描述 Unity 系列4、Prism.DryIoc: Prism 的实现框架之一========================================================================
2021-12-05 23:23:32 2272
原创 [Prism] - 事件聚合器
事件聚合器在 MvvmLight 中叫的 Messenger,在 Prism 中叫EventAggregator。主要作用是实现 VM 到 View 的信息传输使用IEventAggregator 接口传递,必须实现 EvenBase 基类,PubSubEvent 实现了 EventBase 基类
2021-12-05 22:44:17 447
原创 PMAlignTool 模板匹配工具 - 建模器的使用
PMA 工具是基于轮廓分析的检测工具1、选择带图像形状模型2、点击建模器图标3、绘制对象的轮廓4、 各个轮廓可以单独设置相应的权重,会影响最终的分数。5、另外需要“忽略极性”和选择“像素匹配限定框”。...
2021-11-13 15:31:43 1982
转载 XSD 文件学习
前两天用了一下DOM4J,解析自己写的xml,但已经习惯了用各种提示来写xml文件,自己写还真不爽,就学了一下XSD。其中的simpleType,complexType, simpleContent和complexContent标签,我一开始学得很迷,w3school上讲的太简单,网上的博客大概也都是复制粘贴,很少添加自己的理解,所以我真要吐槽一下网上那些博客帖(¥%*&#&!#*)。 在这种情况的促使下这篇博客产生了,花了点时间研究了这几个标签,总算是理解了他们的基本用法。下面来分析一下.
2021-08-30 09:31:41 1283
原创 【Faker.Net】自动创建测试数据
在开发过程中,经常因为需要使用一些测试数据,查看 UI 呈现感到苦恼,通过 Faker.Net 类自定义产生随机数据。使用教程如下:1、安装 Faker.Net.dll2、直接使用 Faker 库。地址类: Console.WriteLine(Faker.Address.City()); Console.WriteLine(Faker.Address.City()); Console.WriteLi...
2021-07-11 19:30:00 729
原创 【1】线程线程线程线程
1、线程基础2、线程阻塞3、线程状态枚举4、线程状态机5、解除阻塞6、线程上下文切换7、Bound(时间是用来等待还是用来计算)
2021-07-11 15:33:57 59
原创 WPF 拖拽
1、事件实现拖拽前台代码:<Label Content="事件实现拖拽" MouseLeftButtonDown="Label_MouseLeftButtonDown"/>后台代码:private void Label_MouseLeftButtonDown(object sender, MouseButtonEventArgs e){this.DragMove();}2、Thumb 的三个事件 DragDelta、DragStarted、DragCompletedh
2021-07-11 12:47:20 283
原创 从 Github 下载东西用不了的问题【NETSDK1141】
解决方案一:安装所需要的依赖项的 SDK解决方案二:删除文件中没有安装的 SDK 版本global.json 文件报错进入命令行,输入 dotnet --info 查看系统的版本将 5.0.100 改为 5.0.301
2021-07-10 23:08:08 532
原创 Modbus 协议
1、主站:可以进行读写操作。从站:只能被动响应主站操作。2、一个 Modbus 网络只有一个主站,可以多个从站。(主站不用连在两端)485 通讯1、接线最多 254 个站,1-2542、RS 485 通讯最后一个从站需要接一个终端电阻 120Ω(100-150)。终端电阻是为了消除在通信电缆中的信号反射在通信过程中,有两种信号因导致信号反射:阻抗不连续和阻抗不匹配。RS-485需要2个终接电阻,接在传输总线的两端,其阻值要求等于传输电缆的特性阻抗。(300 米以内
2021-07-04 20:43:20 1977
原创 【台达 PLC - 1】 - 编程软件(WPL)
1、WPLsoft 软件界面2、PLC 与 PC 通讯、程序上传下载3、PC 与 PLC 的通讯设置4、梯形图5、快捷键6、批注7、模拟与仿真8、密码设定与解除
2021-06-27 15:57:14 18894
原创 【台达 PLC - 0】 - 电气基础
1、先从上往下、从左往右刷新映像区,扫描完成后统一刷新状态进行输出。2、双线圈冲突概念。(此时只有最后一个输出线圈的条件会影响到线圈的状态)解决方案:3、EH3 系列 PLC 功能介绍及样图4、功能分类5、型号命名6、PLC 输入信号段子接线漏型接法:(推荐使用漏型即 NPN 型输入 )源型接法:7、输入元器件的电源问题8、输入端子接线(这里只说漏型)两线制传感器(不带极性):三线制 NPN 与 PNP
2021-06-27 14:57:49 1917
原创 GOF 23 - 二十三种设计模式
创建型:关注对象的创建1、单例模式2、工厂模式3、工厂方法模式4、原型模式5、建造者模式结构型:关注类与类之间的关系1、适配器模式2、装饰器模式3、代理模式4、外观模式5、桥接模式6、组合模式7、享元模式行为型:关注对象的行为与分离1、策略模式2、模板方法模式3、观察者模式4、迭代子模式5、责任链模式6、命令模式7、备忘录模式8、状态模式9、访问者模式10、中介者模式11、解释器模式...
2021-06-23 21:27:38 190
原创 C# -- 多线程
进程 Processor:属于计算机概念(虚拟的),把一个程序运行时占用的全部计算资源(CPU、内存、磁盘、网络...),统称为进程。
2021-05-30 17:57:39 496 1
原创 MAF 项目创建流程
1、创建空项目2、创建 Appliction 项目【MAF.AddInApplication】前台代码<Window x:Class="MAF.AddInApplication.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" ..
2021-05-26 15:49:54 397
原创 C# 打包隐藏引用的第三方库
1、创建一个类库 *.dll2、添加到项目引用3、拖到 dll 到项目中4、在程序入口添加以下代码AppDomain.CurrentDomain.AssemblyResolve += (sender, args) => {//注意WindowsFormsApplication1 这个是主程序的命名空间 string resourceName = "WindowsFormsApplication1." + new AssemblyName(args.Na
2021-05-08 15:08:02 1208
原创 MVVMLight 传递原事件参数
如果在一些特殊环境里,我们需要传递原事件的参数,那也很简单,只要设置PassEventArgsToCommand="True" 即可,xmlns:mvvm="http://www.galasoft.ch/mvvmlight" <i:Interaction.Triggers> <i:EventTrigger EventName="Drop"> <mvvm:EventToCommand PassEventArgsToComm.
2021-04-27 14:08:45 466
原创 WPF 绑定数据的验证
验证类型 说明 Exception 验证 通过在某个 Binding 对象上设置 ValidatesOnExceptions 属性,如果源对象属性设置已修改的值的过程中引发异常,则抛出错误并为该 Binding 设置验证错误。 ValidationRule 验证 Binding 类具有一个用于提供 ValidationRule 派生类实例的集合的属性。这些 ValidationRules 需要覆盖某个 Validate 方法,该方法由 Binding 在每次绑定控件中的数据
2021-04-26 20:43:00 496
原创 WPF ComboBox 控件绑定
CombboxItem 是一个全局的属性,作用在当前页面的数据上下文中,结果显示的内容指向下拉框中的选中值,达到共用一个数据的目的。这边有四个地方需要注意的:ItemsSource:数据源;SelectedItem:选中的项;DisplayMemberPath:绑定时显示的所属值;SelectedValuePath :绑定时候 key 的所属值。...
2021-04-26 19:27:57 539
原创 WPF 绑定
<TextBlock Text="{Binding UserInfo.UserName,StringFormat='中国人:\{0\}'}" ></TextBlock>string.format
2021-04-26 19:22:18 250
原创 WPF - 模板
控件模板、数据模板和容器模板目录控件模板、数据模板和容器模板控件模板数据模板容器模板控件模板ControllTemplateItemTemplate数据模板DataTemplateHierarchicaDataTemplate容器模板ItemsPanelTemplate...
2021-04-26 13:22:45 50
原创 001_反射
System.Reflection.AssemblySystem.Reflection.MemberInfoSystem.Reflection.EventInfoSystem.Reflection.FieldInfoSystem.Reflection.MethodBaseSystem.Reflection.ConstructorInfoSystem.Reflection.MethodInfoSystem.Reflection.PropertyInfoSystem.Type以下...
2021-03-25 21:58:19 89
原创 【AvalonDock】布局控件使用教程
1、Nuget 包 XceedProucts.Wpf.Toolkit.AvalonDock 包安装2、安装完成,项目会引入这两个dll3、在MainWindows窗体中引入命名空间xmlns:avalon="http://schemas.xceed.com/wpf/xaml/avalondock"4、Avalon 布局。靠边隐藏窗口 LayoutRoot.LeftSide 有多个方向 这里是左边(左右隐藏布局)多文档布局 LayoutPanel 下的 LayoutDocu.
2021-03-20 19:45:41 1079
原创 矩阵的计算
矩阵运算规则:矩阵与常量运算矩阵与向量运算矩阵与矩阵运算矩阵之间相乘,必须满足 B 矩阵列数等于 A 矩阵行数才能运算,矩阵与矩阵之间的计算可以拆分为矩阵与多个向量的计算再将结果组合,返回的结果为一个列数等于 B 矩阵、行数等于 A 矩阵的矩阵。矩阵加减矩阵加减必须满足矩阵之间纬度相同,返回的结果也会是一个相同纬度的矩阵。矩阵的乘法规律:不满足交换律,A×B ≠ B×A满足结合律,A×(B×C) = (A×B)×C满足分配率,A×(B+C) =A×B.
2021-03-18 17:06:43 56889 3
原创 线程的暂停与继续(ManulResetEvent 与 AutoResetEvent)
ManualResetEvent 与 AutoResetEvent 区别在多线程开发中,时常用到ManualResetEvent 与AutoResetEvent 。 它们如同道路交通中的信号灯。两者之间有什么区别呢?ManualResetEvent mSet = new ManualResetEvent(false);AutoResetEvent aSet = new AutoResetEvent(false);共同点: 均继承EventWaitHandle 接口,因此...
2021-03-16 22:36:11 231
原创 【线程 - 并行】Parallel 并行的使用
并行是随机执行的1、Parallel.For从1-10开始输出。Parallel.For(1, 10, i =>{ Console.WriteLine(i);});2、Parallel.Foreach//生成一个从 20 开始连续10个的遍历对象var number = Enumerable.Range(20, 10);Parallel.ForEach(number, i =>{ Console.WriteLine(i);});3、Para
2021-03-06 14:25:56 622
原创 005_Winform 控件的使用
登录窗体逻辑static void Main(){ Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); FrmUserLogin objFrmLogin = new FrmUserLogin(); DialogResult result = objFrmLogin.ShowDialog(); if (result == DialogRes......
2021-01-31 21:22:30 87
WPF工控源码分享.rar
2019-11-03
DotNetBar.v14.1.0.28.rar
2019-07-24
VS2019添加数据库Sql2014时候出现的。怎么解决?
2019-10-30
斑马打印机的~HS指令怎么使用
2017-12-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人