02 2022 档案
摘要:最近做了一个绿色免安装软件,领导临时要求加个注册机制,不能让现场工程师随意复制。事出突然,只能在现场开发(离开现场软件就不受我们控了)。花了不到两个小时实现了简单的注册机制,稍作整理。 基本原理:1.软件一运行就把计算机的CPU、主板、BIOS、MAC地址记录下来,然后加密(key=key1)生成文
阅读全文
摘要:ImageBrush中的TileMode、Viewport属性可以实现平铺。 就是imageBrush从坐标(0,0)到(0.5,0.5)实现平铺4张图,因为坐标从(0,0)到(1,1)是全屏,所以到0.5是一半,就显示4张图片,如果Viewport设置成"0,0,0.1,0.1",那么横向纵向就显
阅读全文
摘要:参考:https://www.cnblogs.com/snow-zhang/p/10107108.html 写在App.xaml.cs中 void App_OnStartup(object sender, StartupEventArgs e) { //UI线程未捕获异常处理事件 this.Disp
阅读全文
摘要:finally 块——无论是否发生异常,都会执行 try { // 可能出现异常的代码 } catch(处理的异常类型) { //处理异常的代码 } finally { //无论如何都会执行的代码, //例如:关闭数据库连接 }
阅读全文
摘要:WPF 自定义ProgressBar进度条样式 一、前言 滚动条一般用于加载进度,我们在看视频的时候或者在浏览网页的时候经常能看到加载进度的页面。在程序开发中,默认的进度加载样式可能跟程序风格不太一样,或者加载进度的时候需要更改一下加载的样式。这个时候就需要通过修改ProgressBar的样式来实现
阅读全文
摘要:WPF 进度条 一:简单常见 //window1.xaml <Window x:Class="progressbartest.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="htt
阅读全文
摘要:异常: 引发了异常: PresentationCore.dll 中的“System.InvalidOperationException”(“调用线程必须为 STA,因为许多 UI 组件都需要。”)。引发了异常: PresentationCore.dll 中的“System.InvalidOperat
阅读全文
摘要:ObservableCollection转换List ObservableCollection<T> o; // 假设已经赋值 List<T> list = new List<T>(o.ToList()); List转换ObservableCollection List<T> list; // 假设
阅读全文
摘要:ThreadPool.QueueUserWorkItem(delegate { System.Threading.SynchronizationContext.SetSynchronizationContext(new System.Windows.Threading.DispatcherSynch
阅读全文
摘要:UI卡顿假死问题 误区1:使用不同的线程操作UI控件和耗时操作(即,跨线程操作UI控件CheckForIllegalCrossThreadCalls = false;), 注意:此处只是为了记录...... 原始同步操作如下所示: 1 2 3 4 5 6 7 8 private void butto
阅读全文
摘要:DataTable dt = new DataTable(); dt.Columns.Add("A"); dt.Columns.Add("B"); dt.Columns.Add("C"); dt.Rows.Add("a1", "b1", "c1"); dt.Rows.Add("a1", "b2",
阅读全文
摘要:方法一:chrome浏览器调试 1.打开chrome浏览器,在标题栏输入chrome://inspect,会看到如下界面 2.进入到你要调试的代码所在的文件夹,使用cmd.exe或者git,进入文件所在目录,运行调试文件: node --inspect-brk fileName.js 现在再看浏览器
阅读全文