自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

caikeyter

才华飞扬

  • 博客(38)
  • 资源 (21)
  • 收藏
  • 关注

转载 获取win10系统信息里面的设备ID

来源:在注册表可以获取设备Id。

2024-01-06 10:54:20 127

原创 C# 获取windows 系统开关机时间

C#获取系统开关机时间

2023-12-07 11:39:08 891

原创 记录:获取windows当前登录的用户信息

windows当前登录的用户信息

2023-10-26 15:03:15 276

原创 C# windows服务里面启动的winform 程序里面无法读取路径问题 笔记

开发中遇到的问题

2023-10-25 19:12:25 171

原创 Centos8 777 /* 事故恢复记录

centos8 777 权限事故恢复

2022-03-02 16:46:50 688

原创 HttpListener 跨域访问

项目需要,要写个本地服务,给VUE 前端 提供api。联调发现,必须要支持跨域访问才行,调了好久,终于能正常访问了,特意记录一下。 HttpListenerRequest request = context.Request; context.Response.Headers.Add("Content-type", "text/html;charset=UTF-8"); context.Response.ContentEncoding = Encod

2021-10-26 19:19:52 2402 4

原创 C# winform 控件DataBindings 更新数据 笔记

最近在写winform 的项目,需要对datagridview 进行动态更新数据。以前的做法是循环每一行,找到对应的那一行,然后循环每一列,更新数值,重绘gui。效率很低,而且占用资源高。后来接触了WPF之后,发现是可以通过DataBindings 绑定对象来更新显示,只要修改对象属性值,界面也会跟着更新显示。BindingList<DevDataShowView> showViewsLs = new BindingList<DevDataShowView>();d..

2021-07-05 16:22:58 3832

原创 windows 10 安装K8S 和 docker

上周领导叫熟悉一下kubernetes和docker 。看完介绍不装一遍,真心难受。然后开始爬文https://www.jianshu.com/p/f1f94c6968f5 介绍Docker和K8S的https://blog.csdn.net/qq_34924407/article/details/82630205这个介绍也更详细,先跳过。开始进入安装阶段:...

2019-11-13 16:39:03 5609

原创 C# 下载文件

public static string _defaultUserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 UBrowser/5.7.15319.202 Safari/537.36"; //定义默认浏览器类型 pub...

2018-10-22 09:20:28 602 1

原创 NPOI 导出excel 设置指定列只读,不能修改

最近在做一个导入导出的功能,导出后,用户修改部分列的值,然后导入更新。为了能够进行更新,必须对某些列进行限制修改。用的是NPOI控件,hssfworkbook.GetSheetAt(0).ProtectSheet("密码") 进行上锁。问题来了,单纯用 ProtectSheet  并不行,还得设置单元格样式IsLocked。IWorkbook hssfworkbook = new HS...

2018-10-22 09:05:27 6543 1

原创 asp.net webapi 跨域访问 在vs调试里面和部署到IIS里面的配置问题

最近在写个webapi 的接口服务,正常后端请求没什么问题。但想对方可以直接用ajax 进行调用,那么接口就得支持跨域访问才行。网上找了一下,发现通常有两种方式。1.在webapi路由里面配置,EnableCorsAttribute 属性进行配置。2.在web.config 里面配置。 在webapi 的apicontroller 里面增加函数: public cla...

2018-09-27 12:44:27 3143

转载 Asp.net中使用Sqlite数据库的方法

SQLite3 ODBC DriverDRIVER=SQLite3 ODBC Driver; Database=mydb.db; LongNames=0; Timeout=1000; NoTXN=0;SyncPragma=NORMAL; StepAPI=0;SQLite.NETBasic(基本的)      Data Source=filename;Version=3;Using UTF16(使用...

2018-05-12 14:54:06 2012

原创 javascript 帮助类Utility

var Utility = (function ($) {    var _common = {        getFormData: function (parent_id) {            var pd = {};            var setValue = function (that) {                if (!that) return;       ...

2018-03-09 15:09:53 976

原创 CI 框架 调用PHPExcel linux 无效问题

$this->load->file(APPPATH.'libraries/PHPExcel.php');

2016-12-16 09:41:58 1248

原创 Nginx 下配置支持thinkphp 伪静态

让nginx支持thinkphp 伪静态。

2016-10-21 11:15:41 7892

原创 IOS 学习笔记之C

1.运算符:除了常用的加减乘除,还有很多如:sizeof可以用来计算一个变量或者一个常量、一种数据类型所占的内存字节数。* sizeof一共有3种形式sizeof( 变量\常量 )sizeof(12);char c1 = 'a';sizeof(c1);sizeof  变量\常量sizeof 12;char c2 = 'a';size

2015-05-17 22:31:10 485

原创 关于android 百度地图离线包的调用问题

最近公司要做个地图的app,android的,百度了一下,觉得还是百度的api比较好,然后就下载下来用了,就在想使用它的离线包的时候,不知道怎么搞,一开始就连百度提供的DOME也加载不上离线包。后来将BaiduMapSdk删了,重新下载就行了遇到的情况我的解决方法:首先要知道你的设备是支持高分辨率的还是低分辨率的,就是h还是l ,然后我们下载的离线压缩包里面的文件名为:Bei_Jing_S

2013-12-06 18:45:54 6701

原创 asp.net 在iframe 中页面跳转问题 js

/// /// iframe 中,弹出信息并跳转 /// /// /// public static void ResponseShowMsg(string msg, string targetPageName) { string str = " alert('{0}')

2013-04-19 17:04:46 2690

原创 来去电悬浮窗口提示事件记录(根据号码找到相关事情)

经过一周的奋斗,终于把这个工具写出来了,背景说明:好记性不如烂笔头,有时候,别人打电话过来,跟你说了些事,之后,你又忙别的,很多时候,可能会忘记,那么这个工具,就是给你提醒的。1.来去电提示框2.更具号码分类记录事情3.可配置悬浮窗的可否拖拽。........上图了:程序主界面菜单:增加事件界面:程序通讯录:

2013-04-15 10:25:06 1532 1

原创 android 监听来去电 弹出悬浮窗提示

最近给老大做个安卓手机的小程序,希望实现 来去电的时候,提示一下(主要是看看有没有这个号码的相关事情)。在网上找了很多,都是只有来电的悬浮窗。算了,还是自己研究吧。下面给出监听部分和悬浮窗,可拖拽的。//来去电广播public class InterceptCall extends BroadcastReceiver { private static final Str

2013-04-12 12:09:35 3171 4

转载 Android特色开发之语音识别

本文节选于机械工业出版社推出的《Android应用开发揭秘》一书,作者为杨丰盛。本书内容全面,详细讲解了Android框架、Android组件、用户界面开发、游戏开发、数据存储、多媒体开发和网络开发等基础知识,而且还深入阐述了传感器、语音识别、桌面组件开发、Android游戏引擎设计、Android应用优化、OpenGL等高级知识。另外,本书还全面介绍了如何利用原生的C/C++(NDK)和Pyth

2013-02-25 09:43:13 1084

原创 qt creator 中文乱码问题 学习中遇到的问题1

1.中文乱码问题:在需要显示中文的文件中导入#include  然后在该类的构造中写上: QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));//GB2312 QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB2312"));

2012-09-10 16:36:13 2065 2

原创 QT creator 第一个程序 qt学习笔记第三章

好了,开始干活了。打开QT creator 工具,然后选择“文件”,“新建文件或工程” 这里有多种项目和文件类型。我们这里是移动开发吧。那么选择“Qt 控件项目” 右边选择“移动应用”如图:然后 点 “选择”,然后弹出配置:如下图:填写项目名称,文件路径,然后点下一步,开始选择设备:这个之前有简介,这里不多说了。下一步,再下一步: 这里的图标是svg

2012-09-10 16:16:21 855

原创 QT creator 工具的介绍 qt学习笔记第二章

环境已经搭建完之后,我们开始进入QT creator的使用,在用之前,我先简单的介绍一下,这个工具的各个模块的功能。其实就是大概说一下,我所了解的,我就用了这么3,4天,还有很多功能,大家自己去挖掘吧。 好,看图,一块一块地说。1.菜单:文件=》对于项目的管理,可以创建新项目之类的。主要说一下“工具”=》选项,配置快捷键之类的。其他功能,自己看吧。 2.快速导航:

2012-09-10 14:04:59 1105

原创 QT creator 环境 qt学习笔记第一章

最近无聊,学人家做手机软件,安卓不用多说,很多人都在用。android 程序开发教程也有很多,学过java的,一看,基本都懂。可惜我现在还是在用symbian系统的手机。所以决定自己做symbian 手机软件。QT nokia 这些相关的信息,自己百度吧。我在这里就不多说了。直入话题,对sis,sisx这里的程序,还是有听过开发工具的,但是很多都要配置得很麻烦,像配置到myeclips

2012-09-10 12:39:41 887 2

原创 C# 委托和事件

委托:它是一种数据类型,和引用类型类似,不过和一般的类相比,委托的实例不是在堆中的数据,而是一个方法。和C++中的函数指针很相似,但对函数指针更安全,。将函数打包成一个变量进行传递。委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。使

2012-09-04 10:41:26 798

原创 jquery 提交form表单

$.ajax({ cache: true, type: "POST", url: '../Handler/PathologyAjax.aspx?Action=UpdatePathology&NM=' + getRandNum6(), //

2012-09-04 10:32:07 723

原创 WCF 动态调用(动态创建实例接口)

很多时候,服务地址都不止一个的,这个时候就要动态去配置地址。配置Web.config,很麻烦下面就看看怎样实现动态调用WCF。首先看看动态创建服务对象的代码:using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.ServiceModel;u

2012-09-04 10:27:55 21122 6

原创 WCF 文件上传

这个WCF端上传文件方法 /// /// 上传文件 /// /// 验证用的 /// 扩展名 /// 这是文件的byte数组数据 /// 对数据检验 /// 上传重复数据时可以删除之前的文件 /// public string FilesUpLoad(string userID, string Extens

2012-09-04 10:15:46 4092 2

原创 C# CGI+

这个事生成一个图片的例子。 private void ShowReportImgs(int types, string pathId, int reportTypes) { #region 获取数据 Hashtable detailFirst = new Hashtable();// getPathDetail(pathId, "1001");//

2012-09-04 09:54:03 1868 1

原创 .net C# 事务处理

在数据库中使用存储过程,通常遇到多个操作的时候,我们都会用事物来进行错误回滚。但是,有时候,需要保存大数据量的时候,将数据传到存储过程里面,是很麻烦的时候,varchar 8000,nvarchar 4000,当大于这个最大值的时候,怎么处理呢?多声明几个参数。?这个,你能预知多少个呢? 所以,在这个情况下,我觉得在代码里面使用事物比较好。下面我们看一下,怎么样在代码中实现事物操作数据:

2012-09-04 09:40:44 774

转载 Sql Server2005 测试效率

Sql Server2005的一个新特性便是我等了很久的Row_Number(),以前用Oracle时用rownumber写分页存储过程很方便:)下面是我做的一个小小的测试,测试我原来在sql server2000下所用的分页存储过程与使用Row_Number()编写的存储过程在Sql Server2005上的执行效率...数据表:REATE TABLE [dbo].[test](

2012-09-03 14:51:14 447

转载 SqliteDBHelper

namespace MyDatabaseTools{ using System; using System.Data; using System.Text.RegularExpressions; using System.Xml; using System.IO; using System.Collections; usin

2012-09-03 10:26:15 1527

转载 C# CGI+闪烁问题

this.SetStyle(ControlStyles.AllPaintingInWmPaint,true);//解决闪烁this.SetStyle(ControlStyles.Opaque ,true);//解决背景重绘问题(设置不绘制窗口背景,因为重绘窗口背景会导致性能底下)this.SetStyle(ControlStyles.OptimizedDoubleBuffer ,t

2012-09-03 10:22:25 614

原创 求助,Ext.JSON.encode 之后,后台中文变\u**

最近做了一个日程管理的功能,用的是EXTJS。 现在遇到一个问题。前台如何输入中文,然后Ext.JSON.encode 序列化之后,中文变成  \u325f\u**** 这个格式,然后返回前台后,通过 Ext.JSON.decode反序列化,\u***这个格式还是没有转回中文。请问能否在后台.net 2.0(C#)里面就将 \u****这种格式转成中文啊???

2012-03-12 13:44:25 4377 3

原创 win7上装oracle10g

最近公司做C/S结构的项目。用了oracle数据库,我还没有用过,经理叫我们用XP的系统,当时还不知道为什么,只能先照做。但我一直用的是win7,所以我决定周六日换系统。系统换好了,该装数据库了,oracle10g,一装就报错,不记得当时报什么错误来的,但我还是记得怎么解决。

2011-09-26 15:01:39 760

转载 C# 异步委托 (转)最近学习这个,所以收集了些

当我们的程序顺序执行的时候,如果我们调用了一个很耗时的方法,那么应用程序会使当前的线程处于阻塞状态,直到方法的调用完成再继续执行。这样的方法调用被认为是同步的。如果我们调用了一个远程的方法,那么这个方法的调用可能花费的时间会更长。如果我们不想立即取得方法所返回的结果,或者我们根本

2011-09-26 14:50:46 666

转载 javascript画图表方法

日志原文:http://zzgziyu.blog.sohu.com/109589244.html    ("<html xmlns:v>v//:*{behavior:url(#default#VML)}")var ct1=new ct()function ct(){    ="green,yellow,red,blue,gray,purp

2010-03-04 15:54:00 704

C# 蓝牙功能,经典蓝牙和低功耗蓝牙例子

C# 蓝牙功能,经典蓝牙和低功耗蓝牙例子

2023-12-06

PaddleOCR 提取图片上的文字 NET6 WIN64位

使用技术: OpenCvSharp Sdcb.PaddleOCR Sdcb.PaddleOCR.Models.LocalV3 ....... 使用方法: C# object output; try { using (Process p = new Process()) { p.StartInfo.FileName = "ImgToText.exe"; p.StartInfo.Arguments = 图片路径; p.StartInfo.UseShellExecute = false;//是否使用操作系统shell启动 p.StartInfo.CreateNoWindow = true;//不显

2023-10-18

C# http 抓包工具,获取http 请求的路径信息

C# http 抓包工具,获取http 请求的路径信息

2023-10-18

eeprom暂时最好恢复mac.bin

newifi3D2 v1.2 的 eeprom,暂时发现最好用的,2.4G能去到100M,5G 230多,5G 没有另外一个好,但综合来说这个比较好。MAC 修改地址:00000,8000,e000;SN:7000

2021-12-28

微信DAT文件转图片.exe

PC端微信聊天记录的DAT文件转图片文件

2021-03-27

CRM 客户管理系统 基于 thinkphp 源码

基于thinkphp开发的CRM客户管理系统,全部源码开源,无加密,能进行运维。也适合php开发者学习参考。

2017-02-28

WifiChat 2.0 android 及时通讯 转

原网站转https://github.com/hillfly/WifiChat/tree/2.0.140626 本项目基于JDK1.7 、Android API17 (4.2.2) 编译环境 项目刚刚创建,代码还在编写,持续更新ing 2.0 coming soon 更新预告: 1.全新的连接界面。 2.彻底重构ChatAdapter,解决view复用的问题。 3.优化缓存模块 4.优化布局文件,大大减小了安装包大小,目测减小到3M~5M = =!

2014-11-19

NSIS_v245_增强版 中文

NSIS_v245_增强版 中文 NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序。它提供了安装、卸载、系统设置、文件解压缩等功能。这如其名字所指出的那样,NSIS 是通过它的脚本语言来描述安装程序的行为和逻辑的。NSIS 的脚本语言和通常的编程语言有类似的结构和语法,但它是为安装程序这类应用所设计的。

2013-07-12

Magic Library winform UI 控件

C# winform UI 控件,这个是老版本的,样式一般,但是功能挺全的。Magic Library 1.7 VS2005的tab页签。......自己下载吧。都是源码。 是源码啊。

2013-05-17

AT指令发短息打电话 VB.net 可改C#

atsms 通过AT指令发送短信和打电话等等。本代码是VB.NET写的,可以改成c#。

2013-04-21

来去电悬浮窗提示事件纪要

好记性不如烂笔头,有很多时候,别人打电话过来,跟你说了些事,你可能会忘记,那么该工具可以给您提示您上次记录的事情。 1.来去电提示框(悬浮) 2.悬浮框提示最近事件纪要 3.根据电话号码分类记录 4.可设置悬浮窗可否拖拽,来去电提示事件条目数,开机自启动 未解决: 开机自启动,因为没办法调试,所以不知道具体情况。

2013-04-15

Winform进度条 BackgroundWorker 绝对不是官方例子

在WinForm开发中,在处理大量数据时不免会有耗时较长的操作,如果将这些操作放在主线程里,软件界面会有较长时间的“无响应”,降低了用户体验,常用的解决方式是加上进度条。 实现思路 -------------------------------------------------------------------------------- 使用BackgroundWorker(已经封装好的线程工具)控件在后台线程执行费时的操作,在主线程中打开一个进度条窗体显示进度。 实现步骤 -------------------------------------------------------------------------------- 第0步:创建一个具有进度条的窗体,以显示进度 新建窗体ProcessForm,设置属性FormBorderStyle为None,添加一个ProcessBar控件,如下图所示: 进度条窗体 PrcessBar的Style属性设置为MarQuee。在ProcessForm添加如下公共属性: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 /// <summary> /// 设置提示信息 /// </summary> public string MessageInfo { set { this.labelInfor.Text = value; } } /// <summary> /// 设置进度条显示值 /// </summary> public int ProcessValue { set { this.progressBar1.Value = value; } } /// <summary> /// 设置进度条样式 /// </summary> public ProgressBarStyle ProcessStyle { set { this.progressBar1.Style = value; } } 第1步:创建进度条管理类ProcessOperator 在该类中添加如下字段: ? 1 2 private BackgroundWorker _backgroundWorker;//后台线程 private ProcessForm _processForm;//进度条窗体 添加如下公共属性、方法和事件: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #region 公共方法、属性、事件 /// <summary> /// 后台执行的操作 /// </summary> public Action BackgroundWork { get; set; } /// <summary> /// 设置进度条显示的提示信息 /// </summary> public string MessageInfo { set { _processForm.MessageInfo = value; } } /// <summary> /// 后台任务执行完毕后事件 /// </summary> public event EventHandler<EventArgs> BackgroundWorkerCompleted; /// <summary> /// 开始执行 /// </summary> public void Start() { _backgroundWorker.RunWorkerAsync(); _processForm.ShowDialog(); } #endregion 其中,属性BackgroundWork可以指向一个无参数的方法,这里(客户端代码)用来指向要在后台执行的费时操作方法,在_backgroundWorker的事件DoWork中调用该委托指向的方法 ? 1 2 3 4 5 6 7 8 //后台执行的操作 private void _backgroundWorker_DoWork(object sender, DoWorkEventArgs e) { if (BackgroundWork != null) { BackgroundWork(); } } public void Start() 为启动进度条的方法,调用该方法后,会在后台线程(_backgroundWorker.RunWorkerAsync(); )中执行费时操作(DoWork事件中的委托指向的方法)。同时,_processForm.ShowDialog()方法负责打开进度条窗体。 当后台方法执行完毕后,会触发backgroundWorker的RunWorkerCompleted事件,在该事件中关闭进度条窗体 ? 1 2 3 4 5 6 7 8 9 10 11 12 //操作进行完毕后关闭进度条窗体 private void _backgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { if (_processForm.Visible == true) { _processForm.Close(); } if (this.BackgroundWorkerCompleted != null) { this.BackgroundWorkerCompleted(null, null); } } 以下是完整的ProcessOperator类代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 /* * author:Joey Zhao * date:2010-11-30 * describe:进度条,该类可以在后台线程处理一些费时操作,并显示进度条,进度条并未真实显示数据进度 * 仅仅是告诉用户程序还活着,有待加强。使用方法: * 1, 实例化一个ProcessOperator对象; * 2,赋值BackgroundWork(类型为一个无参数无返回值的委托)属性为要在后台执行的方法(无参数无返回值的方法) * 3,调用Start方法开始执行 * 4, 在事件BackgroundWorkerCompleted中执行后台任务完成后的操作 */ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel; namespace Sasp.Client.PublicUnits.Process { public class ProcessOperator { private BackgroundWorker _backgroundWorker;//后台线程 private ProcessForm _processForm;//进度条窗体 public ProcessOperator() { _backgroundWorker = new BackgroundWorker(); _processForm = new ProcessForm(); _backgroundWorker.DoWork += new DoWorkEventHandler(_backgroundWorker_DoWork); _backgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(_backgroundWorker_RunWorkerCompleted); } //操作进行完毕后关闭进度条窗体 private void _backgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { if (_processForm.Visible == true) { _processForm.Close(); } if (this.BackgroundWorkerCompleted != null) { this.BackgroundWorkerCompleted(null, null); } } //后台执行的操作 private void _backgroundWorker_DoWork(object sender, DoWorkEventArgs e) { if (BackgroundWork != null) { BackgroundWork(); } } #region 公共方法、属性、事件 /// <summary> /// 后台执行的操作 /// </summary> public Action BackgroundWork { get; set; } /// <summary> /// 设置进度条显示的提示信息 /// </summary> public string MessageInfo { set { _processForm.MessageInfo = value; } } /// <summary> /// 后台任务执行完毕后事件 /// </summary> public event EventHandler<EventArgs> BackgroundWorkerCompleted; /// <summary> /// 开始执行 /// </summary> public void Start() { _backgroundWorker.RunWorkerAsync(); _processForm.ShowDialog(); } #endregion } } 第2步:客户端代码调用 ? 1 2 3 4 PercentProcessOperator p = new PercentProcessOperator(); p.BackgroundWork = this.LoadData; p.BackgroundWorkerCompleted += new EventHandler<EventArgs>(p_BackgroundWorkerCompleted); p.Start(); 扩展:实时报告后台处理进度 将_backgroundWorker的属性WorkerReportsProgress设置为ture;这样就可以添加backgroundWorker的ProgressChanged事件了(该事件在调用方法_backgroundWorker.ReportProgress(int p)时触发。 ? 1 2 3 4 5 6 //显示进度 private void _backgroundWorker_ProgressChanged(object sender, ProgressChangedEventArgs e) { _processForm.MessageInfo = "已完成:"+e.ProgressPercentage.ToString()+"%"; _processForm.ProcessValue = e.ProgressPercentage; } _backgroundWorker.ReportProgress(int p)方法应该是在后台执行操作中调用,只有后台执行的操作才知道自己的完成进度。可以使用一个委托参数,客户端代码调用该委托设置进度,而该委托指向的方法设置为_backgroundWorker.ReportProgress(int p)即可。以下代码是带有进度预报的实现: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 /* * author:Joey Zhao * date:2010-12-1 * describe:带百分比的进度条,使用方法: * 1, 实例化一个ProcessOperator对象; * 2,赋值BackgroundWork(类型为一个参数,无返回值的委托,其中参数是一个具有一个int类型参数无返回值的委托,用来预报进度)属性为要在后台执行的方法,详见TestForm中的示例 * 3,调用Start方法开始执行 * 4, 在事件BackgroundWorkerCompleted中执行后台任务完成后的操作 */ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel; namespace Sasp.Client.PublicUnits.Process { public class PercentProcessOperator { private BackgroundWorker _backgroundWorker;//后台线程 private ProcessForm _processForm;//进度条窗体 public PercentProcessOperator() { _processForm = new ProcessForm(); _processForm.ProcessStyle = System.Windows.Forms.ProgressBarStyle.Continuous; _backgroundWorker = new BackgroundWorker(); _backgroundWorker.WorkerReportsProgress = true; _backgroundWorker.DoWork += new DoWorkEventHandler(_backgroundWorker_DoWork); _backgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(_backgroundWorker_RunWorkerCompleted); _backgroundWorker.ProgressChanged += new ProgressChangedEventHandler(_backgroundWorker_ProgressChanged); } //显示进度 private void _backgroundWorker_ProgressChanged(object sender, ProgressChangedEventArgs e) { _processForm.MessageInfo = "已完成:"+e.ProgressPercentage.ToString()+"%"; _processForm.ProcessValue = e.ProgressPercentage; } //操作进行完毕后关闭进度条窗体 private void _backgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { if (_processForm.Visible == true) { _processForm.Close(); } if (this.BackgroundWorkerCompleted != null) { this.BackgroundWorkerCompleted(null, null); } } //后台执行的操作 private void _backgroundWorker_DoWork(object sender, DoWorkEventArgs e) { if (BackgroundWork != null) { BackgroundWork(this.ReportPercent); } } #region 公共方法、属性、事件 /// <summary> /// <para>后台执行的操作,参数为一个参数为int型的委托; /// 在客户端要执行的后台方法中可以使用Action&lt;int&gt;预报完成进度,如: /// <example> /// <code> /// PercentProcessOperator o = new PercentProcessOperator(); /// o.BackgroundWork = this.DoWord; /// /// private void DoWork(Action&lt;int&gt; Report) /// { /// Report(0); /// //do soming; /// Report(10); /// //do soming; /// Report(50); /// //do soming /// Report(100); /// } /// </code> /// </example></para> /// </summary> public Action<Action<int>> BackgroundWork { get; set; } /// <summary> /// 后台任务执行完毕后事件 /// </summary> public event EventHandler<EventArgs> BackgroundWorkerCompleted; /// <summary> /// 开始执行 /// </summary> public void Start() { _backgroundWorker.RunWorkerAsync(); _processForm.ShowDialog(); } #endregion //报告完成百分比 private void ReportPercent(int i) { if (i >=0 && i<=100) { _backgroundWorker.ReportProgress(i); } } } }

2013-01-08

C# 手机发短信通过串口AT指令

C#,利用连接的手机发送短信。使用的COM连接,用AT指令操作。 本代码是别人那里下载的,做了一下小修改。 遇到不能发短信的,请将短信中心号改成获取手机sim卡里面的号。 点击 链接后会显示出来。

2012-10-19

qt sqlite for symbian

qt symbian sqlite 嵌入式数据库

2012-09-10

QT symbian 自己写的

自己写的一个小东西,主要是对sqlite 数据库的操作。 不知道为什么,在真机里面有些中文能显示正常,其他都乱码。 求高手啊。 这里需要SQLite

2012-09-10

C# 用API控制系统声音音量 源码、示例

C# 用API控制系统声音音量 源码、示例 C# 用API控制系统声音音量 源码、示例

2012-09-06

C# 获取硬件信息 开源的硬件信息

一个开源的C#语言的硬件信息展示项目。 是通过C语言访问硬件底层,通过C#对数据处理和展示。 项目SVN: http://open-hardware-monitor.googlecode.com/svn/trunk

2012-09-06

wap开发工具老旧版11

wap手机网页开发工具包,里面有3个wap开发工具。可以可视化开发。 wap手机网页开发工具包,里面有3个wap开发工具。可以可视化开发。

2012-09-06

反编译工具(VB,C++,C)

反编译工具包 VB C++ C

2012-09-06

三层架构代码生成器

自己写的一个代码生成工具,目前只能生成三层的架构,sqlserver2005 的数据库,生成存储过程。 该版本是本人的第三个版本。 欢迎各位大侠来修改升级。 本程序开源。

2012-09-04

网络摄像头Mobiola Web Camera v3.0.15 S60v3汉化版

网络摄像头Mobiola Web Camera v3.0.15 S60v3汉化版

2011-12-30

仿QQ客户端和服务器端源码C# c/s QQ

仿QQ客户端和服务器端源码 包含两个项目,一个是服务器端,一个是客户端。先运行服务器端,开启服务器,然后运行客户端 注册QQ,登陆使用 测试帐号 123456 密码 51aspx 作者:ylasa 源码下载及讨论地址:http://win.51aspx.com/CV/ImitationQQsource

2011-09-26

空空如也

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

TA关注的人

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