自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sudazf的专栏

每天进步一点点

  • 博客(44)
  • 资源 (12)
  • 收藏
  • 关注

原创 WPF 样式

WPF 有自己的样式设置系统,自带类似 Winform 的默认样式、比较一般,我们可以使用下面几种方式设置 wpf 样式。

2024-12-30 13:28:34 1254

原创 WPF 依赖属性和附加属性

除了普通的 CLR 属性, WPF 还有一套自己的属性系统。这个系统中的属性称为依赖属性。

2024-12-20 14:47:40 1276

原创 WPF Binding 绑定

绑定是 wpf 开发中的精髓,有绑定才有所谓的数据驱动。

2024-12-20 10:22:47 1469

原创 WPF ControlTemplate 控件模板

区别于 DataTemplate 数据模板,ControlTemplate 是控件模板,是为自定义控件的 Template 属性服务的,Template 属性类型就是 ControlTemplate。自定义一个控件 MyControl,包含一个字符串类型的依赖属性。使用这个自定义控件,设置其 MyProperty 属性值,前端设置 ControlTemplate,

2024-12-18 15:23:01 694

原创 WPF DataTemplate 数据模板

DataTemplate 顾名思义,数据模板,在 wpf 中使用非常频繁。它一般用在带有 DataTemplate 依赖属性的控件中,如 ContentControl、集合控件 ListBox、ItemsControl 、TabControls 等。

2024-12-18 15:00:46 1378

原创 WPF 布局控件

wpf 布局控件有很多,常用的有:Grid, UniformGrid, Border, StackPanel, WrapPanel, DockPanel。

2024-12-18 09:40:11 766

原创 WPF 消息循环(二)

我们已经知道,win32/MFC/WinForm/WPF 都依靠消息循环驱动,让程序跑起来。这里就介绍 WPF 中是如何使用消息循环来驱动程序的。

2024-12-13 17:30:33 1211

原创 WPF 消息循环(一)

在说 wpf 消息循环之前,有必要了解一下软件程序运行的机制,这对理解 wpf 消息循环也有很大帮助。这是一段 c# Main 函数(类似 c/c++ 的 main 函数),如果不写 Console.ReadLine();,则程序会“一闪而过”,写了 Console.ReadLine();程序会阻塞,用户就可以查看结果。inputToLower这里有一个while循环,这样程序就可以一直运行了,我们可以说:这个程序由这个 while 循环驱动。那么 Windows 程序是由什么驱动的?

2024-12-13 17:23:07 950

原创 WPF 相比 winform 的优势

方便地将数据与用户界面进行绑定,减少代码量,使用 MVVM 模式也能更改的开发和维护项目代码。:能够创建更具吸引力和现代化的用户界面,支持更复杂的图形和动画效果。:一种声明性的标记语言,使界面设计更加直观和易于理解。:将视图和业务逻辑更好地分离,提高代码的可维护性。:提供了更强大的布局系统,使得界面设计更加灵活。:图形可以自动缩放,适应不同的分辨率和屏幕大小。:可以轻松自定义控件和模板,以满足特定的需求。:可以创建各种复杂的动画效果,增强用户体验。:可以通过硬件加速等方式提高应用程序的性能。

2024-12-13 16:49:06 588

原创 c# TaskScheduler

在MyTaskScheduler 中,我建了一个线程 executionThread,线程方法是一个while循环,一直在监听有没有新的Task过来,有多个Task过来,就按Task创建顺序执行,没有的话 while 就暂停在 waitany 处。一般情况下没什么大问题,但如果这3个中的每个Task都非常耗CPU或者内存,而计算机又需要预留资源去干别的事情,这就要让3个Task不能同时执行。答案就是:TaskScheduler,它可以让已经创建好的 Task 去按照特殊的顺序来执行。怎样达到这样的效果?

2024-12-13 16:03:54 575

原创 c# 协变与抗变

在具有可变性的条件下,与原始类型转换方向相同的可变性称作协变(covariant)。在具有可变性的条件下,与原始类型转换方向相反的可变性称作抗变(contravariant),也称逆变。可变性远远不只是针对映射到数组的能力,也有映射其它集合的能力如List.很多人会问,说了这么多,到底这个协变或者抗变有什么实际价值?为什么接口参数类型前加了个 out 关键字就可以安全转换了?因为在接口类型参数前加上修饰关键字 in 和 out 可以表示该类型参数支持抗变和协变,会在安全范围内进行转换。

2024-12-12 13:30:23 1125

原创 WPF 使用 GDI+ 绘制高清图

WPF 绘制高清图 DPI, WriteableBitmap, Graphics

2022-09-01 16:22:04 2128

原创 C# 控制台程序 打开窗体

控制台项目Project1,程序代码,如:class Program{ private static Thread _thread; static void Main(string[] args) { _thread = new Thread(TestClass.Show); _thread.SetApartmentState(ApartmentState.STA);//设...

2020-01-17 17:33:32 3749

原创 WPF Dispatcher.FromThread

Dispatcher.FromThread 方法可以从线程中获得 Dispatcher ,如果此线程中操作了UI相关的对象,如窗体,控件等,那么它的返回值将不为null, 否则为null.举个例子:新建一个wpf应用:默认窗体 MainWindow 里放一个测试按钮。<Window x:Class="WpfApp1.MainWindow" xmlns="http...

2019-11-11 17:03:01 354 1

原创 C# async await

目录一.写法二.用法这里详细记录一下 async 和 await 的用法和注意点,当然前提是对 Task 比较了解了,因为 async 和 await 核心还是在 Task ,下面以实例来说明:一.写法先介绍一下写法,刚接触这两个关键字的时候,看别人写的代码总有些看不懂,后来发现原来是熟手们都喜欢简写,导致新手看不懂,如:private static async Task...

2019-10-25 16:03:10 558

原创 C# 异步编程 并行编程

目录异步编程1. Thread2. Task3.async + await并行编程Parallel本篇简单记录一下异步编程和并行编程,并以下图一个 Demo 来演示,源码地址我会公布在文章结尾。 异步编程 个人觉得,异步无非就是不影响某个线程的情况下,在另外的线程里执行任务的过程。异步编程即多线程编程。C# 里多线程编程写法有很多种,这里记录三种。...

2018-09-28 13:46:50 9526 2

原创 C#调用C++ DLL

记录一下两个内容:1.使用VS2015创建C++ DLL;2.使用C#调用上面创建好的C++ DLL;一.使用VS2015创建C++ DLL1.选择win32项目2.点击【下一步】-&gt;选择 dll 和预编译头3.随便添加一个头文件【MyTester.h】:并在stdafx.h文件中添加引用:随便输入一些简单定义代码,这里以 struct / int / bool / char /BYTE 类...

2018-06-13 11:18:28 8807

原创 C++ 模拟 C#事件

网上看到一些关于C++模拟和C#类似的Event处理,这里记录一下:新建一个event.h头文件:#pragma oncetemplate &lt;typename Handler&gt;class event{private: Handler m_Handler;protected: //模拟C# event 的add/remove访问器 //如果要重新实现add/remo...

2018-06-08 15:50:45 702

原创 Visual Studio 引用不到头文件的问题

在D盘Include文件夹下放了个头文件:CtiSMAPIWIn32.h在vs中也设置好了附加包含目录:结果在项目中怎么也引用不到该头文件:最后发现是因为:vs需要 所有配置+平台都得配置 附加包含目录 才行:

2017-11-23 15:17:25 33339 8

原创 Mono跨平台体验

最近遇到一个特殊需求,客户要求做一个运行在Linux上的软件,并且要有软件界面。考虑到不会GTK#,QT也不熟悉,所以想到还是用mono Windows Form(.net跨平台项目)比较好,这里记录一下做法。1.首先得准备一些东西:一台Windows电脑visual studio 2015 (其它版本也可以)一个虚拟机软件VisualBox(其它虚拟机软件也可以,这里以Visua

2017-10-13 09:31:06 1299

原创 WPF自定义控件 按钮 (二)

上一篇介绍了如何使用阿里巴巴图标和制作带图标的按钮,前面的做法只是简单介绍,要真正能够运用到项目中,还有一段路要走,这里继续介绍如何完善之前的自定义按钮,使之能够合理的运用到以后的项目中。就拿上一个测试代码来说:<Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/w

2017-09-19 14:38:49 1199

原创 WPF自定义控件 使用阿里巴巴图标

上一篇介绍了 WPF自定义控件 按钮 (一),在进一步介绍WPF自定义控件 高级按钮之前,先介绍一下如何在WPF项目中使用阿里巴巴图标。还是在上一篇项目基础上,在WPF自定义控件类库项目 Controls 文件夹下,新建一个资源字典(WPF)文件,取名: MyIcon.xaml :

2017-09-19 13:17:53 2578

原创 WPF自定义控件 按钮 (一)

从这里开始,记录WPF自定义控件的制作方法,相比制作传统winform的自定义控件来说,WPF自定义控件做起来更加优雅,效果也更好。从最常用的控件 Button 开始:首先从MSDN上查看 Button 控件的默认样式和模板,如下:

2017-09-19 09:58:35 4155

原创 C#调试C++ DLL代码

有些C#写的项目中会调用到C++ DLL,有时候需要调试进C++代码里去查问题,过程中经常会遇到无法命中C++代码断点的问题,在此记录一下常用的设置方式,照着设置的话基本上没什么问题:1)确保C#和C++项目源代码在同一个解决方案里 (这一点有待商榷,后来经过验证并不一定要在同一个解决方案里);2)确保C#项目,属性设置->调试选项->“支持非托管代码调试”打钩( 如果是...

2017-08-03 15:12:30 5268 1

原创 SQL Server 远程连接问题

1.如何配置sqlserver使之能够远程被访问,网上搜一大把,如:SQL Server 2008 R2如何开启数据库的远程连接2.尽管是配置好了,但是还是经常会出现不能访问的问题,可参考:SQL - 配置SQLServer 使其可以远程访问3.检查能不能远程访问,可以使用SQL Server Management Studio输入【地址,端口】:如,我在路由器上配置了映射端口,外部访

2016-10-15 00:13:36 995

原创 C++封装C#中的事件

背景: 用户要求我们提供给他们API,如果这些API都是用C#写的DLL,而用户要求API为C++的 DLL,这种情况下就需要将C# DLL里面的内容封装成C++ DLL。这里针对c#中的事件,记录一下如何使用C++来封装c#的事件:1.创建一个简单的C# DLL实例:a.新建一个c# DLL项目,取名:TestDotNetDLL,添加一个类:Customer,这

2016-08-09 11:40:44 6323 12

原创 C++调用C++写的DLL

1. 创建DLL项目:a.新建一个空的win32 DLL项目,添加一个简单的头文件和一个cpp文件:这里,头文件位于该路径之下:D:\Code\Demos\Test_Win32DLL_V1\Test_Win32DLL_V1       头文件和cpp文件内容分别是:#pragma once#include using namespace std;#defi

2016-08-04 12:26:56 890

原创 使用SVN-subwcrev命令 发布软件版本

这里使用visual studio (C#) 软件开发环境作为介绍,其它依葫芦画瓢。在软件开发过程中,每次对一个软件产品的release,都要处理该软件版本号。有的版本号是人为定的,有些是自动生成的,这里介绍在使用SVN版本管理软件的qingkua

2016-06-15 14:23:48 5168

原创 主机不能访问虚拟机中的web服务【解决方案】

情况是这样的:在虚拟机visualBox里安装了centos7系统,并且在该系统里运行了一个web服务,想通过宿主机或者外网来访问该服务,总是无法访问(虚拟机网卡已配置成桥接):宿主机【win7】ip:虚拟机【CentOS7】ip:彼此能互相ping通,虚拟机中启动了一个简单的web服务:一个简单的只要访问就能得到一句简单的响应:在虚拟机内部能够访问:

2016-01-21 01:30:52 71517 8

原创 jquery文本框改变事件

可参考如下几个事件: TEXTBOX EVENT $(document).ready(function(){ //按键弹起时触发事件 $("#mytext").keyup(function(){ var txtChange = $("#mytext").val(); $("#p1").html(""+txtChange

2015-09-10 23:00:59 29970

原创 DataGridView特殊按钮(DisableButtonColumn)

实现的效果如下图,点击一次按钮之后,按钮不可再点击:主要代码如下: private void AddButtonColumn() { DataGridViewDisableButtonColumn column1 = new DataGridViewDisableButtonColumn(); colum

2015-08-17 16:34:35 4441 4

原创 C# 模仿QQ右下角 消息闪烁提示

主要是使用自带的notifyIcon这个控件即可,用两个icon图片循环切换,效果即闪烁提示。主要代码如下:public partial class Form1 : Form { int i = 0; //先设置一个全局变量 i ,用来控制图片索引,然后创建定时事件,双击定时控件就可以编辑 private Icon ico1 = Propert

2015-08-17 14:25:18 4526

原创 Asp.Net 4.5网站使用IIS发布 uploadify插件 上传文件大小问题

遇到一件头大的事情,最近一个mvc网站项目是Asp.Net 4.5版本,发布在IIS 6.1上面.项目中使用到jQuery的一个文件上传控件uploadify,结果这个控件死活上传不了超过30M的文件,也找了网上各种解决方案,在webconfig下加了下面两个地方:

2015-07-18 18:25:11 1919

原创 C# 使用 Socket (Udp + Tcp)

一个简单示例,记录下C#中如何使用Socket:这个示例的作用是:服务端可以监测到是否和客户端连接,并且如果连上了,可以互相收发消息。如上图,我用的本机测试的,如果是不同机器且连着网,请换成对应的局域网ip或者公网映射ip.步骤:1.新增个空解决方案,并添加两个winform项目,一个是server端一个是client端:2.在服务端和客户端分别加入如下代码:服...

2015-06-29 17:35:38 4814 1

原创 outlook 2013 配置163企业邮箱

网页版的邮箱用得实在心累......这里记录下outlook 2013 如何配置163企业邮箱.一.首先配置outlook2013,步骤如下:1)打开outlook 2013,如下图,填好:2)点开“其他设置“,如下填好:3)点击”下一步”或者“测试账户设置”:4)最终如下图:-----------------------

2015-04-23 21:45:13 42344

原创 visual studio 宏不能运行的解决方法

VisualStudio里有宏功能(VisualStudio使用技巧),一般我只是用来自动打打注释(本人较懒),但是有时候windows自动更新之后,宏会变得不能运行,下面这种方法可以解决,网上找的比较辛苦,记录一下:在:C:\Program Files\Common Files\microsoft shared\VSA\9.0\VsaEnv其中64位机器可能在

2015-04-18 22:57:06 1619

原创 设置鼠标光标在DataGridView某个单元格中的位置

设置鼠标光标在DataGridView某个单元格中的位置这里不是介绍如何选中DataGridView某个单元格,而是:在DataGridView某个单元格正处于编辑状态时,如何将鼠标的编辑光标自动定位到特定位置。如下图:将输入光标定位到test字符串中间:现实生活中,在医院、汽车、银行等窗口单位的时候,工作人员很少用到鼠标,他们操作键盘的速度甚至比程

2015-04-05 16:29:55 14472

原创 WinForm分页小控件

WinForm版分页小控件闲来无事,做了个分页控件,有需要的可以参考下Demo:控件及demo原代码

2015-04-01 00:22:41 759

原创 ReportViewer 矩阵控件

ReportViewer 矩阵控件

2014-06-12 01:00:33 2825

原创 C#:Attribute类

AttributeAttribute,作为名词,意思是标注,特征的意思。我们经常在日常编码中遇到,在某些类,方法,字段,属性上面有如下情形: [AttributeTargets_All] public TestAttributeClass() { } [Obsolete("该方法已经停用!请使用Method2

2013-12-03 23:01:02 1654

C# Socket 示例 Tcp

C# Socket 示例 Tcp

2022-07-19

c# Socket 示例 Udp

c# Socket 示例 Udp

2022-07-19

wpf动态列datagrid

wpf 带有动态列的datagrid

2019-03-22

C#异步并行编程示例

C#异步编程和并行编程示例,提供了 Thread, Task ,async+await,以及异步Paralle

2018-09-28

C++封装C#中的事件

C++封装C#中的事件

2017-04-28

C#使用Socket

C#使用Socket示例,支持服务端和客户端收发数据,可以参考一下下。

2015-06-29

WinForm分页控件

自己写的WinForm分页控件,么么哒~

2015-04-01

VISUAL C++ 2010入门经典_第5版(中文版).part3.rar

在VS 2010下进行C++编程的一本好书。

2012-05-17

VISUAL C++ 2010入门经典_第5版(中文版).part2.rar

在VS 2010 环境下进行C++编程的一本好书。

2012-05-17

VISUAL C++ 2010入门经典_第5版(中文版).part1

在VS 2010 环境下进行C++编程的一本好书。

2012-05-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除