![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
界面相关
土豆赛叩
这个作者很懒,什么都没留下…
展开
-
C# 双缓冲技术实现和高效率的绘图方式
双缓冲技术双缓冲是将图片在显示到DC前,现在要内存建一个DC,也就是用于存储这张图片的内存区,然后在将这部分update到你要显示的地方这样,可以防止画面抖动很大这样和你说吧,如果要实现你要的效果,你必须用指针访问内存比如,把程序声明成unsafe的,然后按照上面的操作进行 this.clear(this.BackColor)不行的 invalidate(),闪的厉害 所以不行 我再来详细解释一下转载 2017-10-21 16:30:52 · 3482 阅读 · 0 评论 -
WPF 触发器实现 DataGrid 显示鼠标所在行自定义操作按钮
<DataGrid Name="Viewer" CanUserAddRows="False" BorderThickness="1" BorderBrush="Gray" G...原创 2018-04-19 17:52:14 · 1804 阅读 · 0 评论 -
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 · 2608 阅读 · 0 评论 -
WPF MVVM UserControl 的 i:Interaction.Triggers 应用
本例依赖文章 https://blog.csdn.net/Vblegend_2013/article/details/81634020用户控件代码 /// <summary> /// 声明路由事件 /// 参数:要注册的路由事件名称,路由事件的路由策略,事件处理程序的委托类型(可自定义),路由事件的所有者类类型 /...原创 2018-08-27 17:43:38 · 8692 阅读 · 0 评论 -
WPF 路由事件声明及触发
public class FullScreenEventArgs : RoutedEventArgs { public Boolean Status { get; set; } } [Serializable] [ComVisible(true)] public delegate void FullScree...原创 2018-08-31 16:49:51 · 477 阅读 · 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 · 2540 阅读 · 3 评论 -
C# 使用线程同步上下文实现跨线程操作UI
SynchronizationContext 是.net提供的一套线程同步上下文其中有两个方法实现把委托同步到线程1.Post(异步)2.Send(同步)对Windows窗口消息熟悉的同学应该明白了其函数特性类似于 SendMessage 和 PostMessagePost 为异步 提交了就不管了什么时候完成什么时候算Send为同步 直到委托执行完毕才会返回Test ...原创 2018-09-13 16:35:30 · 1608 阅读 · 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 · 2464 阅读 · 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 · 1716 阅读 · 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 · 1713 阅读 · 0 评论 -
WPF UserControl 的绑定事件、属性、附加属性
WPF UserControl里可供绑定的属性 /// <summary> /// 重写基类 Margin /// </summary> public new Thickness Margin { get { return (Thickness)GetValue...原创 2018-10-28 19:53:38 · 3986 阅读 · 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 · 979 阅读 · 1 评论 -
抛砖引玉 【镜像控件】 WPF实现毛玻璃控件不要太简单
源码已封装成 MirrorGrid类 可以直接在XAML里添加根据需要可以把Grid 改为 button border等控件注意 Target必须为当前控件下层的控件对象 加个BlurEffect就是毛玻璃效果<!--玻璃层控件--> <local:MirrorGrid Background="Red" ...原创 2018-10-27 16:40:23 · 2288 阅读 · 0 评论 -
8方位寻路算法
鼠标左键 画障碍物 鼠标右键 寻路到鼠标所在位置 按钮 清空障碍物和界面寻路算法类using System;using System.Drawing;namespace FindPath{ /// <summary> /// 寻路对象 /// </summary> publ...原创 2018-11-25 03:08:34 · 1007 阅读 · 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 · 360 阅读 · 0 评论 -
WPF-改变Datagrid的选中行的颜色
[html] view plain copy比如:以DataGrid为例: <DataGrid.RowStyle > <Style TargetType="DataGridRow"> <Setter Pr...转载 2018-04-19 09:20:45 · 2004 阅读 · 0 评论 -
WPF datagrid 实现隔行变色
12345678910111213141516<DataGrid AlternationCount="2"> <DataGrid.RowStyle> <Style TargetType="{x:Type DataGridRow}"> <Style.Triggers> <Tri转载 2018-04-19 09:19:31 · 3064 阅读 · 0 评论 -
C# Brush的使用
private void Form1_Paint(object sender, PaintEventArgs e){ // (实心刷) Rectangle myrect1 = new Rectangle(20, 80, 250, 100); SolidBrush mysbrush1 = new SolidBrush(Color.DarkOrchid); SolidBrush转载 2017-10-21 16:30:49 · 12581 阅读 · 0 评论 -
C# 光源的渐变生成算法
光源的渐变生成算法 private Bitmap CreateLightBitmap(Int32 Width,Int32 Height,Color Source,Color Destinat,Int32 s_low = -1) { Bitmap Bmp = new Bitmap(Width, Height);原创 2017-11-02 17:07:54 · 413 阅读 · 0 评论 -
C# 重绘设置Image亮度
value : -1 - 1 public Bitmap SetImageBrightness(Image img,float value) { //float value = -0.3f;// -25 * 0.01f; float[][] colorMatrixElements = { new float原创 2017-12-08 13:10:20 · 918 阅读 · 0 评论 -
winform频繁刷新导致界面闪烁解决方法
一、通过对窗体和控件使用双缓冲来减少图形闪烁(当绘制图片时出现闪烁时,使用双缓冲)对于大多数应用程序,.NET Framework 提供的默认双缓冲将提供最佳效果。默认情况下,标准 Windows 窗体控件是双缓冲的。可以通过两种方法对窗体和所创作的控件启用默认双缓冲。一种方法是将 DoubleBuffered 属性设置为 true,另一种方法是通过调用 SetStyle 方法将 Opti转载 2017-12-07 17:20:22 · 2134 阅读 · 0 评论 -
C# WPF VisualBrush实现鹰眼视图
private Rectangle HawkeyeBack { get; set; } private Grid HawEyeBox { get; set; } private Rectangle EyeWindow { get; set; } #region 鹰眼视窗 /// /// 初始化鹰眼视窗原创 2018-01-30 14:06:54 · 1172 阅读 · 2 评论 -
在WPF中,判断控件是否处于设计模式
在WPF中,有时需要判断当前是否处于设计模式,以屏蔽设计器执行构造函数里面的部分功能 public static bool IsInDesignMode(this Control control) { return System.ComponentModel.DesignerProperties.GetIsInDesignMode(control); }...转载 2018-02-08 15:40:10 · 1189 阅读 · 0 评论 -
C# 使用NPOI读写Excel(Xls)
Office组件读写Excel 不同版本兼容问题一直以来是比较头疼的问题 NPOI 提供Excel读写组件 NuGet 搜 NPOI 第一个 添加引用即可using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;using System;using System.Collections.Generic;using System.Data;...原创 2018-03-08 13:48:20 · 2131 阅读 · 1 评论 -
比较不错的几款开源的WPF Charts报表控件
ModernUIChart Code: http://modernuicharts.codeplex.com/ Available Charts ColumnChart (ClusteredColumnChart, StackedColumnChart, StackedColumnChart100Percent) PieChart (PieChart and Dognut) BarChart (C...转载 2018-03-09 16:45:02 · 1852 阅读 · 0 评论 -
c# 数据源与控件的Binding
数据源与控件的BindingWPF的绑定模式(mode)是枚举的 枚举值共有5个 1:OneWay(源变就更新目标属性) 2:TwoWay(源变就更新目标并且目标变就更新源) 3:OneTime(只根据源来设置目标,以后都不会变) 4:OneWayToSource(与OneWay相反) 5:Default(可以单向或双向,是靠被值定的源或目标是否有get或set来指定的) 所以绑定的话...转载 2018-03-09 17:44:17 · 5424 阅读 · 2 评论 -
WPF数据绑定-简单对象的绑定
绑定自定义的数据类对象在xaml代码中,Binding标记扩展中仅定义了Path属性,将它绑定到StudentData类的属性上。不需要定义源对象,因为通过指定DataContext类定义源对象。DataContext是一个依赖属性,它用基于FramewrokElement定义。指定相应控件的DataContext属性表示当前控件中的每个元素都默认绑定此数据。xaml代码[csharp] view...转载 2018-03-09 17:46:58 · 270 阅读 · 0 评论 -
C# 引用外部字体文件
//从外部文件加载字体文件 PrivateFontCollection font = new PrivateFontCollection(); font.AddFontFile(Environment.CurrentDirectory + @"\BITSUMISHI.TTF"); ...转载 2018-03-19 15:18:10 · 4906 阅读 · 1 评论 -
WPF继承窗口 或控件
WPF自定义窗口基类时,窗口基类只定义.cs文件,xaml文件不定义。继承自定义窗口的类xaml文件的根节点就不再是<Window>,而是自定义窗口类名(若自定义窗口与继承者不在同一个命名空间,还得加上命名空间),继承自定义窗口类后台代码也得修改为继承自自定义窗口exp:1234567891011121314151617181920212223242526272829303132333...转载 2018-03-13 17:55:26 · 2195 阅读 · 0 评论 -
WPF Color ConboBox
<Window.Resources> <ObjectDataProvider ObjectInstance="{x:Type Colors}" MethodName="GetProperties" x:Key="colorPropertiesOdp" /> </Window.Resources> <Grid&原创 2018-04-10 10:39:24 · 431 阅读 · 0 评论 -
C# Winform NativeWindow实现窗体、控件子类化,消息拦截,处理
代码using System;using System.Windows.Forms;namespace WindowsFormsApp1{ /// <summary> /// 消息事件委托 /// </summary> /// <param name="m">消息</param> /// <...原创 2018-12-22 15:54:59 · 3083 阅读 · 0 评论