C#
土豆赛叩
这个作者很懒,什么都没留下…
展开
-
计算直线上距离某坐标最近的一个投影点
计算直线上距离某坐标最近的一个投影点0x01 调用方式 var p = GetProjectivePoint(new Point(0,0), new Point(300,300), new Point(100,150)); Console.WriteLine(p);0x02 源码 /// <summary> /// ...原创 2019-10-12 09:54:33 · 757 阅读 · 0 评论 -
wpf 文字显示出来后自动模糊的问题
wpf 文字显示出来后自动模糊的问题 TextOptions.TextFormattingMode="Display"从上面gif可以看出文字会自动变模糊,加上TextOptions.TextFormattingMode="Display" 就好了wpf4 文字 模糊 不清晰 解决方法 在窗口或控件上设置字体属性就可以了,如下:<UserControl x:Class="..." ...转载 2018-05-24 17:14:47 · 904 阅读 · 0 评论 -
用WPF 实现VS2017的深色调菜单样式
效果 样式文件<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:convert="clr-namespace:Wpf.WpfConverter" xmlns:x=...原创 2018-09-17 17:05:46 · 2584 阅读 · 3 评论 -
C# 使用线程同步上下文实现跨线程操作UI
SynchronizationContext 是.net提供的一套线程同步上下文其中有两个方法实现把委托同步到线程1.Post(异步)2.Send(同步)对Windows窗口消息熟悉的同学应该明白了其函数特性类似于 SendMessage 和 PostMessagePost 为异步 提交了就不管了什么时候完成什么时候算Send为同步 直到委托执行完毕才会返回Test ...原创 2018-09-13 16:35:30 · 1644 阅读 · 0 评论 -
WPF FrameworkElement 功能扩展类
using System.IO;using System.Windows;using System.Windows.Controls;using System.Windows.Media;using System.Windows.Media.Imaging;namespace System{ /// <summary> /// FrameworkElem...原创 2018-09-14 13:07:56 · 2491 阅读 · 0 评论 -
WPF实现Aero毛玻璃效果
源码摘自 http://virtualrouter.codeplex.com这是一个 .net的wifi工具创建笔记本共享wifi/** Virtual Router v1.0 - http://virtualrouter.codeplex.com* Wifi Hot Spot for Windows 8, 7 and 2008 R2* Copyright (c) 2013 Chr...原创 2018-09-15 10:38:49 · 1761 阅读 · 0 评论 -
C# 优雅的实现ApiHook
全部源码下载:https://download.csdn.net/download/vblegend_2013/10680642 通过继承NtAPIHook<泛型委托> 定义API ,并提供绕过Hook的源函数Origin委托此模块支持 32位和64位 Hook处理类using System;using System.Runtime.InteropService...原创 2018-09-21 10:58:05 · 2651 阅读 · 0 评论 -
WPF RichTextBox 实现自定义表达式的编辑器
项目里需要实现一个表达式编辑的功能 其中可以嵌入自定义表达式参数为各种信号如:up.Signal(10) + down.Signal(10,20,30) > 0于是废了半天时间写了个表达式编辑器 使用的是RichTextBox 没有找到其他比较好的富文本编辑框up.Signal(10) 和down.Signal(10,20,30) 在载入、添加表达式时翻译成黑框并根据表达式内容...原创 2018-09-21 17:52:23 · 1751 阅读 · 0 评论 -
C# 中获取调用方信息
很多时候,我们需要在运行过程中记录一些调测的日志信息,如下所示: public void DoProcessing() { TraceMessage("Something happened."); }为了调测方便,除了事件信息外,我们往往还需要知道发生该事件的代码位置以及调用栈信息。在C++中,我们可以通过定义一个宏,然后再宏中通过__FILE__和...原创 2018-10-17 10:40:20 · 1441 阅读 · 0 评论 -
C# 实现从内存加载DLL(支持加了壳的DLL)
很早的时候用VB6.0写过一次,今天找出来做成C# 的完整源码下载地址https://download.csdn.net/download/vblegend_2013/10653851 从内存加载DLL 步骤1.加载DLLByte数组并校验数据有效性,通过校验 DOSHEADER、NTHEADER、SECTION_HEADER 三个位置实现验证2.计算Dll加载到内存后所...原创 2018-09-08 16:27:03 · 6355 阅读 · 11 评论 -
WPF 路由事件声明及触发
public class FullScreenEventArgs : RoutedEventArgs { public Boolean Status { get; set; } } [Serializable] [ComVisible(true)] public delegate void FullScree...原创 2018-08-31 16:49:51 · 507 阅读 · 0 评论 -
WPF 中 ItemsControl 列表的应用
wpf<Window x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="...原创 2018-08-24 09:35:48 · 5025 阅读 · 1 评论 -
WPF Treeview 获取鼠标所在位置的节点对象
Wpf下的 TreeView 判断鼠标所在节点对象,当然适合所有 ListBox ViewList DataGridView 等容器控件 public void Item_MouseDown(object sender, MouseButtonEventArgs e) { TreeView Tree = sender as TreeView;...原创 2018-06-28 10:14:58 · 2657 阅读 · 0 评论 -
InfluxDB 的UTC时间问题与简单的持续查询语句
最近项目中使用了时序数据库InfluxDB 各方性能也是蛮强大的。但是唯一不足的地方时间格式,默认是使用的UTC时间也是固定的不能修改的,研究了下找到解决方案。 public static void Write() { String[] Tags = new string[] { "Element_1", "Element_2", "Eleme...原创 2018-07-03 21:10:47 · 13921 阅读 · 2 评论 -
C# 中 Union的实现
using System;using System.Collections.Generic;using System.Linq;using System.Runtime.InteropServices;using System.Text;namespace ConsoleApplication{ [StructLayout(LayoutKind.Explicit, Size...原创 2018-08-10 16:45:51 · 4641 阅读 · 0 评论 -
WPF MVVM 文本框 按回车触发Command
<TextBox HorizontalAlignment="Left" Height="24" Margin="10,10,0,0" Text="{Binding SearchText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" TextWrapping="...原创 2018-08-15 16:19:11 · 6579 阅读 · 0 评论 -
WPF MVC模式下的事件路由和Command
1.引用DLLC:\Program Files (x86)\Microsoft SDKs\Expression\Blend\.NETFramework\v4.0\Libraries\System.Windows.Interactivity.dll2.建立Command接口 public interface IDefaultCommand { even...原创 2018-08-13 17:39:32 · 1745 阅读 · 0 评论 -
WPF窗口默认TextBox焦点
当WPF窗口显示后 如果想设置某个输入框为默认焦点 使用 FocusManager<Grid FocusManager.FocusedElement="{Binding ElementName=inputbox}"> <TextBox Name="inputbox" HorizontalAlignment="Left" Height="24" Margin...原创 2018-08-17 09:01:23 · 4972 阅读 · 2 评论 -
WPF MVVM UserControl 的 i:Interaction.Triggers 应用
本例依赖文章 https://blog.csdn.net/Vblegend_2013/article/details/81634020用户控件代码 /// <summary> /// 声明路由事件 /// 参数:要注册的路由事件名称,路由事件的路由策略,事件处理程序的委托类型(可自定义),路由事件的所有者类类型 /...原创 2018-08-27 17:43:38 · 8784 阅读 · 0 评论 -
WPF封装控件时 检测是否在设计模式中
public static bool IsDesignMode(this Control ctl) { return System.ComponentModel.DesignerProperties.GetIsInDesignMode(ctl); } 在控件和窗口的构造函数 或 load 中 this...原创 2018-08-23 17:34:07 · 488 阅读 · 0 评论 -
WPF UserControl 的绑定事件、属性、附加属性
WPF UserControl里可供绑定的属性 /// <summary> /// 重写基类 Margin /// </summary> public new Thickness Margin { get { return (Thickness)GetValue...原创 2018-10-28 19:53:38 · 4028 阅读 · 0 评论 -
WPF Border实现九宫格背景画刷
Xaml <customcontrol:NineGridBorder ImageMargin="2,2,2,8" Image="/xxxxx;component/Images/xxxx.png"> <Grid> </Grid> </customcont...转载 2018-10-27 08:52:23 · 1023 阅读 · 1 评论 -
Emit动态生成代理类用于监控对象的字段修改
利用Emit动态生成代理对象监控对象哪些字段被修改,被修改为什么值被Register的对象要监控的值必须是Virtual虚类型必须使用CreateInstance创建对象必须使用DynamicProxyGenerator.GetChangeProperties 获取改变的值调用GetChangeProperties 返回的Dictionary.Clear() 重置当前已修改属性...原创 2018-12-24 00:29:42 · 976 阅读 · 0 评论 -
进击的CIL Emit动态生成代理类用于监控对象的字段修改
第一篇:https://blog.csdn.net/Vblegend_2013/article/details/85228041本章_changepropertys 设为私有对象构建代理对象时继承了IPropertyChanged,实现了两个方法 保证了效率问题获取更新记录数获取更新字段信息 public interface IPropertyChanged ...原创 2018-12-24 16:45:15 · 327 阅读 · 0 评论 -
C# 中有趣的重写
摘自微软的.net Core WebApi ActionResult 当第一眼看到这个返回方式时很奇特 为毛线ActionResult<String> 能返回字符串? 碉堡了呀有木有,抓紧看下他的实现方式是用的什么黑科技,当转入到引用里的时候发现自己有点营养跟不上了,原来是重写操作符。平时很少用到重写操作符的model ,mmp 才发现重写操作符简直是装逼卖萌无所不...原创 2019-01-24 23:35:21 · 305 阅读 · 0 评论 -
.Net Linq Group DateTime 按时间日期的两种聚合方式
0x00 基础的数据格式 public class timekeyitem { public DateTime time { get; set; } public Double Value { get; set; } }0x01 生成测试数据 List<timekeyitem> tvitems = new List<...原创 2019-04-04 17:15:59 · 2591 阅读 · 0 评论 -
.Net并行处理之Parallel类
C#并行处理之Parallel0x00 简介0x01 命名空间Parallel 所在的命名空间是 System.Threading.Tasks,看名字就知道与线程,任务有关。使用时 using System.Threading.Tasks;即可使用Parallel类的方法0x02 并行方法Parallel对象提供了3种方法来实现 数据和任务的并行Parallel.ForParal...原创 2019-05-09 16:27:28 · 3209 阅读 · 0 评论 -
计算两条线是否相交
计算两条线段是否相交 并返回相交的位置0x01 调用方式 Point s1 = new Point(50, 50); Point e1 = new Point(50, 250); Point s2 = new Point(-20, 85); Point e2 = new Point(650, 85); ...原创 2019-08-05 09:54:53 · 327 阅读 · 0 评论 -
点A围绕点B 旋转 A度
Control.prototype.RotatePoint = function (point, center, a) { var ang = a / 180 * Math.PI; var x = (point.x - center.x) * Math.cos(ang) - (point.y - center.y) * Math.sin(ang) + center.x; v...原创 2019-08-05 16:47:31 · 434 阅读 · 0 评论 -
C# Legend 素材转换 Bmp转Png
传奇的资源里大致分为两种资源图片一种是 黑色的纯色背景。一种是 技能特效也是黑色背景废话不多说 上代码使用代码 Bitmap bitmap = new Bitmap("0.bmp"); bitmap = GeneralConvert(bitmap,Color.Black); bitmap.Save(@"0.png");...原创 2019-08-01 17:20:40 · 1309 阅读 · 2 评论 -
C# Winform NativeWindow实现窗体、控件子类化,消息拦截,处理
代码using System;using System.Windows.Forms;namespace WindowsFormsApp1{ /// <summary> /// 消息事件委托 /// </summary> /// <param name="m">消息</param> /// <...原创 2018-12-22 15:54:59 · 3164 阅读 · 0 评论 -
C# WinFrom 蜂巢类
winformusing System;using System.Drawing;using System.Windows.Forms;namespace WindowsFormsApp1{ public partial class Form1 : Form { public Form1() { I...原创 2018-12-10 09:02:00 · 398 阅读 · 0 评论 -
Quartz 计划任务应用
引入Quartz作业任务模型 using Quartz; //持久化JobDataMap传递的参数 [PersistJobDataAfterExecution] //禁止并发执行 [DisallowConcurrentExecution] public class TestJob : IJob { public voi...原创 2018-10-27 14:40:51 · 217 阅读 · 0 评论 -
C# 用ActionFilter给WebAPI增加请求日志
编写 ActionFilterAttributeusing System;using System.Web.Http.Controllers;using System.Web.Http.Filters;namespace Provider.WebFilters{ /// <summary> /// WebAPI Action监控 /// <...原创 2018-10-27 14:48:46 · 2865 阅读 · 0 评论 -
抛砖引玉 【镜像控件】 WPF实现毛玻璃控件不要太简单
源码已封装成 MirrorGrid类 可以直接在XAML里添加根据需要可以把Grid 改为 button border等控件注意 Target必须为当前控件下层的控件对象 加个BlurEffect就是毛玻璃效果<!--玻璃层控件--> <local:MirrorGrid Background="Red" ...原创 2018-10-27 16:40:23 · 2409 阅读 · 0 评论 -
WPF 超长文本的来回滚动
当较小的地方显示超长的文本时 实现左右来回滚动 引入命名空间xmlns:Utility="clr-namespace:Test.Wpf.Utility" 实现<ScrollViewer Name="slv" IsHitTestVisible="False" Background="#05FFFFFF" M...原创 2018-11-01 15:33:24 · 2349 阅读 · 0 评论 -
DragControl
<UserControl x:Class="ImageView.DragControl" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" ...原创 2018-11-06 17:33:21 · 368 阅读 · 0 评论 -
WPF 字体描边的实现方式
<local:TextPath x:Name="PathEdge" Fill="Red" Stroke="Yellow" StrokeThickness="2" FontFamily="Ariel" ..转载 2018-11-09 14:57:42 · 1551 阅读 · 2 评论 -
8方位寻路算法
鼠标左键 画障碍物 鼠标右键 寻路到鼠标所在位置 按钮 清空障碍物和界面寻路算法类using System;using System.Drawing;namespace FindPath{ /// <summary> /// 寻路对象 /// </summary> publ...原创 2018-11-25 03:08:34 · 1027 阅读 · 0 评论 -
WIN10 设置VS2017默认管理员权限启动
Win10下 设置软件默认为管理员权限打开Win+R regedit 找到路径如下HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers 在 Layers下创建一个字符串值,名字填VS路径C:\Program Files (x86)\Microsoft Visu...原创 2018-12-01 16:28:20 · 2529 阅读 · 0 评论