![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
xiao_rory
这个作者很懒,什么都没留下…
展开
-
c#合并多个图片
private Image combineImages(List images){Image image =null;int width = 0, height = 0;for (int i = 0; i { width = tempImage.Width > width ? tempImage.Width : width; height += tempImage.Height + 5;}image = new Bitmap(width, height);Graphics g = Graph原创 2010-08-02 16:54:00 · 2010 阅读 · 0 评论 -
c#使用Windows.Forms里面计时器和System.Timers里面的计时器
1. 使用的是Windows.Forms里面的计时器 System.Windows.Forms.Timer tm; private void startTimer() { tm = new System.Windows.Forms.Timer(); tm.Interval = 10000;原创 2012-10-11 11:25:50 · 1431 阅读 · 0 评论 -
c#中如何用JsonExSerializer处理Json字符串
先在项目中引用JsonExSerializer.dll,如果没有,可以到我的资源中下载。创建一个类,如下所示,然后通过 静态方法MonitorData.Parse(string)就可以得到一个类的实例,然后开始使用此实例了。注意字符串中的字段必须是类中有定义的属性,但是类中有定义属性不需要在字符串中存在。using System;using System.Collections.Gen原创 2012-10-10 10:33:33 · 1569 阅读 · 0 评论 -
c#如何使用线程而不阻塞主界面
主线程中点击某button(name为simpleButtonCopy) public delegate void NoObjectDel(); private void simpleButtonCopy_Click(object sender, EventArgs e) { this.simpleButtonCopy.Enabled = false;原创 2010-08-02 18:05:00 · 5355 阅读 · 0 评论 -
c#操作Excel和把Dataset数据写入Excel
using System;using System.Collections.Generic;using System.Linq;using System.Text;using Microsoft.Office.Interop.Excel;using System.Data;using System.IO;namespace WebOp.Common{原创 2012-10-10 14:42:25 · 6190 阅读 · 1 评论 -
c#启动线程的时候传多个参数
注意传的参数只能是Object类型,所以需要传多个参数的时候需要把他们归到一个class或者struct class objClass{ public int id; public string title;} public void ShowSearchResultInUI(object o){原创 2010-08-05 19:32:00 · 1207 阅读 · 0 评论 -
c#中时间输出格式
Datetime.Now.ToString("yyyy-MM-dd HH:mm:ss") 将输出是2011-05-30 18:08:50(HH换成hh则按照12小时显示)原创 2011-05-30 18:09:00 · 655 阅读 · 0 评论 -
c#中如何处理mshtml的checkbox,radiobox,textbox,textarea,select
public static void setInputTextItemById(WebBrowser wb, string itemid, string value) { wb.Document.GetElementById(itemid).InnerText = value; } public static原创 2012-09-28 10:19:36 · 2751 阅读 · 1 评论 -
JavaScript代码格式调整
有时候JavaScript代码为了节省空间需要将内容中的空白处清空,但是对之后的阅读使用却非常不方便。开发了个工具SortJS提供以下功能解决此问题:1. 按照语句和代码块自动换行2. 语句自动缩进可以到http://www.hulilab.com/rory/SortJS.htm中下载工具和源码。也可到访问网页版http://www.hulilab.com/sortjs。原创 2012-06-29 14:16:07 · 1118 阅读 · 0 评论 -
c#利用qq的smtp服务器发邮件
首先到qq邮箱的设置->账号->POP3/IMAP/SMTP/EXCHANGE服务,开启服务POP3/SMTP服务。然后代码中使用即可using System.Net.Mail; private void sendmail(){MailMessage mm = new MailMessage("sender@qq.com", "receiver@163.com");原创 2012-10-11 14:30:21 · 6499 阅读 · 3 评论 -
c#对oracle数据库的基本操作
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.Odbc;using System.Data;namespace WebOp.Common{ class Orcl { pub原创 2012-10-10 14:48:17 · 1221 阅读 · 0 评论 -
mdi子窗口在父窗口其他控件之上显示
做个东西用到mdi父子窗口,但是子窗口总是出现在父窗口其他控件的下面,不能显示出来。通过引用win32 api可以解决。1, 添加引用using System.Runtime.InteropServices;2, 定义 [DllImport("User32.dll")] public static extern IntPtr SetParent(IntPtr hc原创 2013-04-10 17:27:30 · 3236 阅读 · 1 评论 -
C#编写COM组件
C#编写COM组件1、新建一个类库项目 2、将Class1.cs改为我们想要的名字 问是否同时给类改名,确定 3、修改Properties目录下面的AssemblyInfo.cs ComVisible属性设置为True 4、项目菜单->MyLib属性 找到“生成”选项卡 往下看,找到“为 COM Intero转载 2013-01-11 08:52:21 · 960 阅读 · 0 评论 -
正则表达式转义字符
正则表达式的转义字符. 除 .$ ^ { [ ( | ) * + ? / 外,其他字符与自身匹配。点的转义:. ==> \\u002E美元符号的转义:$ ==> \\u0024乘方符号的转义:^ ==> \\u005E左大括号的转义:{ ==> \\u007B左方括号的转义:[ ==> \\u005B左圆括号的转义:( =转载 2012-12-12 12:02:16 · 1765 阅读 · 0 评论 -
c#对xml的基本操作
using System;using System.Collections.Generic;using System.Text;using System.Xml;namespace DataStatistic.Common{ class GenerateExcelThreadData { public string excelFileP原创 2012-12-05 16:41:40 · 459 阅读 · 0 评论 -
[Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
最近写的一个c#程序连接oracle数据库时,在32的xp下正常但是到win7 64位下却报此错误。修改方法很简单,在Visual Studio的菜单里选择“项目”->***(项目名)属性->生成->目标平台改成x86。重新生成程序即可。原创 2012-10-10 10:07:22 · 9050 阅读 · 0 评论 -
c#操作webbrowser中网页的iframe页面的javascript函数和触发控件事件或者直接运行js函数
1. 操作webbrowser中网页的iframe页面的javascript函数和触发控件事件 HTMLIFrame fe = webBrowser1.Document.GetElementById("iframe id").DomElement as HTMLIFrameClass; //获取iframe fe.contentWindow.execScript("function('p原创 2012-10-11 11:18:24 · 8774 阅读 · 5 评论 -
UI Aumation简介
UI Automation是微软.net Framework 3.0所出的. 关于他完整的介绍当然是看msdn了http://msdn.microsoft.com/en-us/library/ms747327.aspx。不过在此罗列我认为有用的信息。 1. 如何使用 第一步:在VS项目->添加引用->选择UIAutomationClient, UIAutomationTypes,原创 2010-09-04 15:33:00 · 3830 阅读 · 1 评论 -
c#递归创建文件夹
c#中自带函数不会递归创建文件夹,需要自己写函数。参数为文件路径,如果文件不存在就递归判断其父文件夹是否存在,不存在的话就创建private void createdir(string filefullpath){ bool bexistfile = false; if (File.Exists(filefullpath))原创 2012-10-11 09:03:50 · 6238 阅读 · 0 评论 -
string.format中如何添加大括号{
在使用string.format时如果前面语句中要添加括号{只需要{{两个括号即可表示了。例如:string statement = "this is {0} and {1} {{";Console.Write(string.Format(statement,"john","lee"));则可以输出this is john and lee{原创 2012-07-20 21:11:50 · 11348 阅读 · 0 评论 -
用C#创建Windows服务(Windows Services)
用C#创建Windows服务(Windows Services)Windows服务在Visual Studio 以前的版本中叫NT服务,在VS.net启用了新的名称。用Visual C# 创建Windows服务不是一件困难的事,本文就将指导你一步一步创建一个Windows服务并使用它。这个服务在启动和停止时,向一个文本文件中写入一些文字信息。 第一步:创建服务框架 要创建一个新转载 2012-07-16 11:21:30 · 3116 阅读 · 0 评论 -
c# MouseClick和MouseDown的区别
一开始以为按下鼠标两者都会触发,其实不然按下鼠标键,立马会触发的是MouseDown事件。鼠标松开的时候会依次触发MouseClick和MouseUp事件http://msdn.microsoft.com/en-us/library/system.windows.forms.control.mouseclick.aspx原创 2010-08-25 17:50:00 · 7488 阅读 · 0 评论 -
c#各处鼠标的相对位置
常用到的1. System.Windows.Forms.Cursor中Position对应的是与屏幕的相对位置A Point that represents the cursor's position in screen coordinates.http://msdn.microsoft.com/en-us/library/system.windows.forms.cursor.position.aspx2. System.Windows.Forms.MouseEventArgs.X,Y对应的有可能是与触发原创 2010-08-25 17:39:00 · 2213 阅读 · 0 评论 -
.Net 不同操作系统中显示的窗体大小,控件位置不一样
最近碰到一个bug,在有些操作系统上窗体的按钮显示不全。经过一天的搜查实验最后将我们自定义的控件AutoScaleMode 设成none解决了问题 //下面这句非常重要,若是选择Font在英文系统(+中文语言包)上会出现显示不全的问题 this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;原因不明,但先可以这样解决。后续再看为啥原创 2010-08-20 13:43:00 · 1634 阅读 · 0 评论 -
C#值传递引用类型数据的问题
今天做了道题,大概可以简化如下 public class C { public int i = -1; public C(int i) { this.i = i; } public static void set(C c) { c.i = 0; c = new C(13); } } class Program {原创 2010-08-17 14:05:00 · 1081 阅读 · 1 评论 -
c#如何保存树的展开状态
/// /// 保存当前树的展现 /// private void GetTreeNodesStatus(TreeNodeCollection nodes) { foreach (TreeNode node in nodes) { if (node.IsExpanded && (!this._listVisibleNodes.Contains(node.ToolTipTe原创 2010-08-03 12:00:00 · 1904 阅读 · 0 评论 -
c#多线程如何从线程返回值
public delegate void ResultCallback(int i); public class A //被调用函数所在的类 { public A(ResultCallback callback) { this._result = callback; } private ResultCallback _result; private int i = 0; public原创 2010-08-03 11:17:00 · 2900 阅读 · 0 评论 -
c#获取正在执行的函数名
System.Diagnostics.StackFrame sf = new System.Diagnostics.StackFrame(); Console.WriteLine(sf.GetMethod().Name);原创 2010-08-03 10:49:00 · 1755 阅读 · 0 评论 -
c#merge另外一个文件夹的内容
private void replace(string src, string des) { DirectoryInfo diSrc = new DirectoryInfo(src); if(!diSrc.Exists ||(diSrc.GetDirectories().Length ==0 &&diSrc.GetFiles().Length ==0)||src ==des) return;原创 2010-08-03 19:28:00 · 600 阅读 · 0 评论 -
c#利用反射轻松遍历类获取其所有属性及属性值
利用反射可以轻松的获取这些信息类的写法:namespace ClassLibrary1{ public class Class1 { public string Name { get { return "name"; } } public string Title { get { return "title"; } } }}使用的时候private void si原创 2010-09-02 18:07:00 · 13103 阅读 · 0 评论 -
正则表达式的group
最近用正则表达式group的概念比较多,留个使用模板int Blocked,Fail,Pass,Unknownstring msg ="ROOT8.1%(0,2,1,34)";Match mm = Regex.Match(rootNode["Name"].ToString(), @"^ROOT/d+/./d+%(.*(?/d+),(?/d+),(?/d+),(?/d+))");if(mm.Groups.Count ==6){ int temp;原创 2010-09-10 16:48:00 · 1534 阅读 · 0 评论 -
怎么做安装包
在网上查到了两种方法,总结放在这儿第一种比较简单,直接用winrar就可以做(http://home.51.com/qinyingxiong/diary/item/10045227.html)制作步骤: 假设要把目录seo安装到c:\目录下,主执行程序是c原创 2011-09-14 19:27:10 · 3079 阅读 · 0 评论 -
c#中枚举enum和int的转换
其实直接转换就行了比如 public enum ExplorerWatcherOperation { Created, Deleted, Changed, Renamed,原创 2011-08-04 15:59:06 · 5337 阅读 · 0 评论 -
获取treeview中当前鼠标所指的节点treenode
实现函数 /// /// 获取当前鼠标位置处的节点 /// /// 只在节点是用例集节点时返回(包括根节点) /// public static TreeNode GetMousePosit原创 2011-07-09 15:05:42 · 4232 阅读 · 0 评论 -
简单的代码高亮
<br />参考自http://www.360doc.com/content/07/1012/20/39836_806447.shtml<br />在上面添加了注释,并且做了改进。<br />改进点:<br />1. 由keydown事件改为keyup事件。这样输入完就可以高亮,不需要输入完再敲空格之后才高亮<br />2. 考虑到高亮之后,如果字符被修改。需要取消高亮。<br /> <br /><br /> public partial class Form1 : Form<br /> {<br原创 2011-06-01 15:51:00 · 733 阅读 · 0 评论 -
webBrowser给documenttext赋值
今天使用webbrowser的时候给documenttext赋值老是没用,查了半天资料才发现要先navigate一下才行最后的使用方法如下 using (WebBrowser wb = new WebBrowser()){ wb.Navigate(“about:blank"); wb.Document.Write(content); ///需要更改的内容 el = wb.Document.GetElementById("sender"); if (原创 2010-11-23 16:50:00 · 6769 阅读 · 1 评论 -
Directory Delete删除时出现访问被拒绝的错误
这种一般是由于文件夹中有只读文件引起的,解决方法可已通过对文件的删除来解决 /// /// 递归删除文件夹,避免只读文件导致删除不了的情况 /// /// 文件夹全路径 private static void DeleteDir(string dir) { if (Directory.Exists(dir)) //判断是否存在 { forea原创 2010-11-01 17:14:00 · 9770 阅读 · 0 评论 -
c#处理html字符串
最近碰到个问题,html encode后的字符串,需要替换里面的文本内容。需要注意的地方是标签里面的内容不能被替换。比如pdf,替换p为abc的时候,里面的p不能被替换。纠结了很久终于解决:1. 利用System.Web里的HttpUtility.HtmlDecode将字符串解码,比如会被解码成2. 利用正则表达式隔离tag和tag外的内容Regex reg = new Regex("(]*>)");3. 隔开后的string总在一个string 的list中,在通过判断是不是开头结尾来过滤,不是标签的话就原创 2010-09-14 14:58:00 · 6293 阅读 · 0 评论 -
c#中用microsoft.mshtml遇到的一个问题
在项目中我引用.net的microsoft.mshtml的话,程序可以正常运行,但是由于项目要求所有引用的dll都是我们自己项目中文件夹而非系统的所以引用了一个项目自己的microsoft.mshtml。(由于microsoft.mshtml.dll需要依赖于.net 1.0而我们的项目属于.net 2.0所以这个自己的dll是重新编译的。)可是改完引用自己的dll之后程序能正常编译但运行时没有正常运行。我使用的是其中的HTMLDocumentClass这个类,debug之后发现这个类的实例赋值不成功(赋值原创 2010-09-02 14:56:00 · 4924 阅读 · 0 评论 -
random 使用时需要sleep一下,否则每次的随机数是一样的
System.Random.Next()方法是以时间DateTime.Now为种子Next(int,int2)是以 int % int2的形式返回 System.Random类本身是以系统时间为种子生成随机数。在同一毫秒生成的随机数是一样的。原创 2014-04-24 14:31:22 · 3231 阅读 · 0 评论