自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 收藏
  • 关注

原创 c#滚动条创建实例,多线程

1.滚动条using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using S...

2020-03-31 21:55:36 381

原创 c#中代码中多线程动态创建progressbar的实例,概念很重要可扩展很多类似概念

以下是代码中创建progressbar的实例int count = 0;private void button4_Click(object sender, EventArgs e){Thread th = new Thread(() => {Form form = new Form();...

2020-03-31 21:45:23 656

原创 C#winform使用进度条

在用c#做WinFrom开发的过程中。我们经常需要用到进度条(ProgressBar)用于显示进度信息。这时候我们可能就需要用到多线程,如果不采用多线程控制进度条,窗口很容易假死(无法适时看到进度信息)。下面我就简单结合一个我写的例子给大家做一个介绍。第一步:设计界面不说了...注意需要引用 using System.Threading;第二步:定义一个代理,用于更新ProgressBar的值...

2020-03-31 21:41:42 2290

原创 windows消息机制(MFC)

消息分类与消息队列Windows中,消息使用统一的结构体(MSG)来存放信息,其中message表明消息的具体的类型,而wParam,lParam是其最灵活的两个变量,为不同的消息类型时,存放数据的含义也不一样。time表示产生消息的时间,pt表示产生消息时鼠标的位置。按照类型,Windows将消息分为:(0) 消息ID范围系统定义消息ID范围:[0x0000, 0...

2020-03-31 21:40:10 659

原创 MFC消息详解 (WindowProc|OnCommand|OnNotify)

1. 怎样使用MFC发送一个消息用MFC发送一个消息的方法是,首先,应获取接收消息的CWnd类对象的指针;然后,调用CWnd的成员函数SendMessage( )。LRESULT Res=pWnd->SendMessage(UINT Msg, WPARAM wParam, LPARAM lParam);pWnd指针指向目标CWnd类对象。变量Msg是消息,wParam和lPa...

2020-03-31 21:39:06 1244

原创 MFC原理 消息传递

一丶简介      通过上一讲我们的消息映射表.我们得知. 消息映射表 会保存父类的MessageMap 以及自己当前的消息结构体数组.消息传递是一层一层的递进的.那么我们现在要看一下怎么递进的.要学习的知识    1.窗口创建的流程.以及默认的回调函数    2.消息处理流程二丶窗口创建的流程.以及默认的回调函数  我们要看窗口创建.那么就需要跟进 MFC源码去...

2020-03-31 21:38:24 1196

原创 对窗口过程函数WndProc()的一点理解

函数原型:LRESULTCALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)窗口过程函数决定了当一个窗口从外界接收到不同的信息时,所采取的不同反应,即主要用于处理发送给窗口的信息。hwnd是要处理窗口的句柄;message是消息ID,代表了不同的消息类型;wPara...

2020-03-31 21:37:02 2113

原创 MFC 消息响应与消息处理过程

WPARAM 和 LPARAM,消息响应机制wParam和lParam 这两个是Win16系统遗留下来的产物,在Win16API中WndProc有两个参数: 一个是WORD类型的16位整型变量;另一个是LONG类型的32位整型变量。因此根据匈牙利命名法,16位的变量就被命名为wParam, 32位的变量就被命名为lParam。 到了Win32API中,原来的16位变量也被扩展为32位,因...

2020-03-31 21:36:02 1333

原创 c#中获取控件窗体句柄,获取窗体等的一些操作

1.Control.Handle 就是获取控件绑定到的窗口句柄。 2.control.IsHandleCreated 控件是否有与其关联的句柄3.WinForm自定义函数FindControl实现按名称查找控件 public static Control FindControl(Control parentControl, string findCtrlName) ...

2020-03-31 21:31:46 7837 1

原创 C# 多线程修改控件时遇到:创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke

一般在多线程调用UI控件时,涉及到跨线程修改UI,需要使用委托,比如如下: this.Invoke((MethodInvoker)delegate { btnRefresh.Enabled = true; });但是假如在多线程操作还没完成的时...

2020-03-31 20:59:59 1847

原创 关于opencv中Mat赋值(浅拷贝,深拷贝)原理

问题点:有两个垫对象:mat_1和mat_2将mat_2赋值给mat_1(mat_1 = mat_2)后,改变mat_1,mat_2也会被改变(这里的改变是指图像处理)。原因:mat_1 = mat_2是浅拷贝,他们虽然不同的矩阵头,但却共享内存空间。以至于改变其中一个,另一个也会被改变。解决:mat_1 = mat_2.clone();其本质是指针之间的赋值两...

2020-03-28 21:18:23 1118

原创 c#使用System.Windows.Forms.DataVisualization.Charting.dll绘制图表实例

首先下载System.Windows.Forms.DataVisualization.Charting.dll,然后引用到项目中手动在代码中创建chart类型并将其添加到某个控件中(control.controls.add(chart)),然后参数初始化添加样式和数据就可以了。以下是效果图和代码using System;using System.Collections.Ge...

2020-03-16 21:03:42 12121

原创 c#中chart绘制曲线,柱状图等

通常我们需要在界面中绘制波形图,柱状图,折线图等等。此时用到Chart控件是非常方便的。先以图一条样条曲线(Spline)为例(1)在Visual Studio中新建一个“Windows窗体应用程序”(2)在Form1上布置一个Chart控件。默认地,Chart控件显示的是直方图(3)Form1的窗体代码Form1.cs 1 2 3 4...

2020-03-16 20:35:20 9752

原创 C#序列化与反序列化以及深拷贝浅拷贝方法

基于二进制数据流的序列化和反序列化 /// <summary> /// 序列化 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="obj"></param&g...

2020-03-16 20:31:43 335

原创 c# 深拷贝各种实现方式

1:利用反射实现 public T DeepCopy<T>(T obj) { object retval= Activator.CreateInstance(typeof(T)); PropertyInfo[] pis = typeof(T).GetProperties(); foreach (...

2020-03-16 20:30:39 1001

原创 vs项目中在生成中设置exe的输出路径,可定为不同版本

vs项目中在生成中设置exe的输出路径,可定为不同版本,便于调试发布。

2020-03-13 22:26:06 1260 1

原创 c#中invoke和beginvoke的区别

thread th=new thread(()=>{control.invoke(new Action(()=>{thread.sleep(5000);}));//dosometings});th.start();这个线程里的dosometings将在5000毫秒后执行,invoke是在异步线程阻塞的,可以阻塞另一个线程,而begininvoke则相反是非阻...

2020-03-13 22:20:08 1020

原创 C++项目库包含,dll引用问题,直接把缺失的dll或库放置可执行文件里

在c++的项目中如果设置了库包含于库引用,设置了引用或包含的路径,如果单拿出debug文件运行里面的exe,提示报错缺少引用的文件,可直接将缺少的文件等放置debug目录下即可运行。如果运行exe程序提示缺少dll,或系统的dll,可直接下载缺少的dll放置系统盘,也可放置在debug里,两者作用相等,因为exe程序如果找不到引用或库,会在debug里也找一遍。C++项目库包含,dll引用...

2020-03-13 21:12:06 1652

原创 c#利用宏定义调试代码

#define使用#define来定义符号。将符号用作传递给#if指令的表达式时,该表达式的计算结果为true,如以下示例所示:#define DEBUG说明#define指令不能用于声明常量值,常量定义例:public const int value = 213;C# 中的常量最好定义为类或结构的静态成员。如果具有多个此类常量,请考虑创建一个单独的“常量”...

2020-03-09 18:04:20 3408

原创 vs中c++项目的配置

首先,我们一般不会修改解决方案的属性,而是设置每个项目各自的属性.接着上一篇文章,我们来看看我们应该怎样来设置各项目的项目属性更好:我们以NYOJ_001项目的Debug版的设置为例:在常规选项里,我们一般会设置输出目录(即生成.exe文件的目录),中间目录(即中间文件的目录)。当然你也可以在这里设置生成的.exe文件的文件名甚至扩展名等。如下图所示:一般设置如下的目录:如...

2020-03-09 15:22:25 2109

原创 vs中c#的项目配置,平台配置

1.右键项目属性->配置属性->配置2.一般在此界面的右上角里的配置管理器中配置才有效。3.活动解决方案配置是项目生成的exe路径,活动解决方案平台是每个项目对应的cpu架构4.在主项目中把cpu平台改成啥(x86/x64/anycpu),其他项目就按啥类型走。5.可在主项目的生成中改变exe生成路径解决方案平台一般有64位,32位,以及Any CPU,M...

2020-03-09 15:18:48 6543

原创 opencv中查看mat位图的像素幅度(Cv::matStep)

OpenCV__cv::Mat::stepstep[0]是矩阵中一行元素的字节数 step[1]是矩阵中一个元素的字节数(elemSize) step1 = step / elemSize1,elemSize1是元素的每个通道所占的字节数 step1(0)是矩阵一行元素的通道数(不是很贴切) step1(1)是矩阵一个元素的通道数(channel()) 示例 Mat ...

2020-03-09 12:30:13 1373

原创 c#图像灰度化、灰度反转、二值化

图像灰度化:将彩色图像转化成为灰度图像的过程成为图像的灰度化处理。彩色图像中的每个像素的颜色有R、G、B三个分量决定,而每个分量有255中值可取,这样一个像素点可以有1600多万(255*255*255)的颜色的变化范围。而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,其一个像素点的变化范围为255种,所以在数字图像处理种一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一...

2020-03-09 11:45:26 2522 1

原创 2020.3

1.项目中引用的dll如果为感叹号,编译不能正常进行,则将其dll下载放到exe运行文件夹下,如还有其他错误提示,试试将该dll的嵌入式互操作改为false。

2020-03-08 16:25:21 173

原创 std::string::append函数使用方法

string& append (const string& str);string& append (const string& str, size_t subpos, size_t sublen);string& append (const char* s); string& append (const char* s, size_t n)...

2020-03-08 14:40:57 3887

原创 c# 拼接Json串的几种方法

C#定义多行字符串的方式在定义的前面加上@符号:1 string aa = @"asdfsdfsd2 fsdsfsdfsdfsdfsdfsdfs3 safasfsadfsdfasfsfsdfsd ";在C#中拼接字符串有几种方法1.利用JsonC...

2020-03-08 13:14:28 7402

原创 c#解析json字符串处理清晰易懂的方法

JSON文件读取到内存中就是字符串,.NET操作JSON就是生成与解析JSON字符串。操作JSON通常有以下几种方式:1. 原始方式:按照JSON字符串自己来解析。2. 通用方式【★★★★★】:这种方式是使用开源的类库Newtonsoft.Json(下载地址http://json.codeplex.com/)。下载后添加dll引用就能用。首先添加引用:using Newton...

2020-03-08 12:56:58 4927

原创 C/C++由字符串转JSON/JSON转字符串/数组解析/数组添加

字符串转成JSON(其中str为字符串) 1 2 3 4 5 Json::Reader Reader; Json::Value DevJson; Reader.parse(str,DevJson); intdev_id = DevJson["dev_id"].asInt(); intindex = ...

2020-03-08 10:49:57 5547

原创 c++:json字符串拼接,json对象组装

c++算法使用json输出最终结果给java使用,于是,开始了json对象的组装之旅...首先,对不同数据类型,封装不同的数据组装函数/** * 拼接int */std::string getKeyValue(std::string sKey, int iValue){ char szDoubleQutoes[] = "\""; char szColon...

2020-03-08 10:46:05 2673

原创 项目移植,项目环境问题

1.调用windows组件时遇到的问题提示Interop.Microsoft.Office.Core等找不到接口,可在引用处将其dll的嵌入式互操作属性改为false2.配置框架问题确认.netframework版本是否合适确认配置的cpu框架是否合适3.项目失败时看相应项目的输出和错误信息,重要的是输出得好好看看...

2020-03-07 12:39:39 200

原创 保存文件对话框实例

string savePath = ""; SaveFileDialog sfd = new SaveFileDialog(); sfd.Filter = "txt files (*.docx)|*.docx|All files (*.*)|*.*"; sfd.RestoreDirectory = true; ...

2020-03-06 09:55:47 236

原创 C#中5步完成word文档打印的方法

在日常工作中,我们可能常常需要打印各种文件资料,比如word文档。对于编程员,应用程序中文档的打印是一项非常重要的功能,也一直是一个非常复杂的工作。特别是提到Web打印,这的确会很棘手。一般如果要想选择非默认打印机或者说想显示打印设置对话框时,我们也需要对代码进行一定的设置。针对这样的问题,今天这篇文章我就来分享一下如何利用第三方组件Spire.Doc来实现Word文档打印。详细步骤...

2020-03-05 21:02:07 1718

原创 C#类的属性遍历及属性值获取

1、定义一个类public class Person{ public string Name { get; set; } public int ID { get; set; }}2、获取属性方法一、定义一个类的对象获取Person p = new Person();foreach (System.Reflection.PropertyInfo info...

2020-03-05 09:24:22 5531 1

原创 c# 遍历对象属性给对象赋值

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;namespace WebApplication33{ public partial class Defau...

2020-03-05 09:23:04 3176 1

原创 bitmap与memoryStream转换bug

image.Save(PicMainMs, System.Drawing.Imaging.ImageFormat.Png);//Bitmap.RawFormat获取格式会有异常情况encode为空的bug,所以设为System.Drawing.Imaging.ImageFormat.Png相对应的格式参数...

2020-03-05 09:22:42 2178

原创 c# Bitmap byte[] Stream 文件相互转换

//byte[] 转图片 public static Bitmap BytesToBitmap(byte[] Bytes) { MemoryStream stream = null; try { stream = new MemoryStream(Bytes); return new Bitmap((Image)new Bi...

2020-03-04 18:59:15 1156

原创 C#无损高质量压缩图片实现代码

最近,项目上涉及到了图像压缩,发现原有的图像压缩功能,虽然保证了图像的大小300K以内,但是压缩后的图像看的不在清晰,并且,限定了图片的Height或者是Width。在CSDN上看到了一个压缩算法:C#无损高质量压缩图片代码进过测试这个算法,发现,将原始图像的大小进行对半处理,然后迭代跳转压缩质量参数,可以得到不错的效果。修改后的算法如下:? 1 2 3...

2020-03-04 18:21:23 4180

原创 C# 设置Word文档中图片的大小

在创建Word文档时,我们经常需要向文档中插入图片,但插入图片的大小有时候可能会太大或太小,这时候我们就需要对图片的大小进行调整,使得图片与文章更加协调、美观。这篇文章将介绍如何使用Free Spire.Doc组件和C#在Word文档中对新添加的图片和已有的图片进行大小设置。在使用以下代码前需要创建一个C#应用程序并引用Spire.Doc.dll到工程中。对新添加的图片进行大小设置//...

2020-03-04 17:31:56 1893

原创 C# 设置word文档页面大小

我们知道,在MS word中,默认的页面大小是letter(8.5’’x11’’),除此之外,word还提供了其他一些预定义的页面大小,如Legal (5.4’’x14’’),A3 (11.69’’x16.54’’),A4(8.27’’x11.69’’)等,使用户可以根据自己的需求来选择页面大小。而且,如果我们想设置的页面大小不在下拉列表中,还可以通过点击页面设置按钮从中选择自定义大小来定义页面...

2020-03-04 15:58:52 1050

原创 Aspose.Word 的常见使用(不用模板创建)

起因因项目需要,而且使用html转Word的时候,样式不兼容问题,于是只能使用Aspose.Word通过代码生成。下面是通过DocumentBuilder来设计Word的,但是和使用模型拼接的差不多,原理基本一致。思路这里是说使用Aspose.Word的使用思路,只想某个功能是怎么使用的可以跳过代码都是人写的,所以每一个代码都有他的风格,了解这些代码作者的思路有利于我们去使用它...

2020-03-04 14:34:51 1163

空空如也

空空如也

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

TA关注的人

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