C#
觉远大师傅
喜欢这句话:生命不止奋斗不息! 无论何时 无论成败 都支持国足!
展开
-
vs2005 中找不到Microsoft.Office.Interop.Excel引用
<br />装“Office 2003 主 Interop 程序集”-它属于office 2003 的可选组件,如有office 2003 安装程序或者光盘,可再次运行安装程序,选择“添加或删除组件”,->勾选“高级自定义应用程序”,->展开特定于应用程序的节点。例如,要获取 Microsoft Office word 2003 PIA,请展开 Microsoft Office word 节点并选择 .NET Programmability Support(.net可编程支持)。单击 .NET Progra原创 2010-10-15 11:18:00 · 4122 阅读 · 0 评论 -
DirectShow 配置环境
从网上下了DirectX 9.0 SDK,运行里面的的BaseClasses的时候出现了N多错误,在网上找到了相应的方法。 1. 编译基类源代码 BaseClasses编译生成路径:/Samples/C++/DirectShow/BaseClasses环境:VS2005为了正确编译,需修改以下文件:(a) ctlutil.hD:/DXSDK/Samples/C转载 2012-03-26 11:19:46 · 563 阅读 · 0 评论 -
枚举声卡
using System.Management;StringBuilder sb = new StringBuilder();ManagementObjectSearcher SoundDeviceQuery = new ManagementObjectSearcher("SELECT * FROM Win32_SoundDevice");foreach (ManagementObje转载 2012-03-28 09:26:40 · 1055 阅读 · 0 评论 -
directX 正试图在 OS 加载程序锁内执行托管代码
调试C#枚举声卡的时候遇到的问题:出错信息:directX 正试图在 OS 加载程序锁内执行托管代码解决方法:VS08->调试->异常->Managed Debugging Assistants->LoaderLock选项去掉原创 2012-03-28 09:31:35 · 1337 阅读 · 0 评论 -
知识点总结
1、委托委托可以理解为函数的引用,声明委托犹如声明一个函数,但区别在于没有函数体,需有返回类型及参数列表,同时需要用关键字delegate如:delegate double ProcessDelegate(double param1, double param2)声明委托后就可以声明委托变量了,在初始化委托变量时可以理解为,将委托变量初始化为与委托有着同样的返回类型、参数列表的函数引用原创 2013-01-06 11:11:42 · 418 阅读 · 0 评论 -
DataGridView 行、列的隐藏和删除
1)行、列的隐藏[VB.NET]' DataGridView1的第一列隐藏DataGridView1.Columns(0).Visible = False' DataGridView1的第一行隐藏DataGridView1.Rows(0).Visible = False [C#]// DataGridView1的第一列隐藏DataGridView1.Column转载 2013-02-04 09:45:50 · 2298 阅读 · 0 评论 -
C#之DataSet类
DataSet类是ADO.NET中最核心的成员之一,也是各种开发基于.Net平台程序语言开发数据库应用程序最常接触的类。每一个DataSet都有很多个DataTables和Relationships。RelationShip应该也是一种表,特殊的是,这个表只是用来联系两个数据表的。每一个DataTable都有很多datarows和datacols, 也包括ParentRelations,Child转载 2013-02-04 16:13:32 · 847 阅读 · 3 评论 -
关于Update 无法找到 TableMapping['Table'] 或 DataTable“Table"问题
近来遇到此问题,百度了很多答案其实并不能解决此问题,偶尔发现了一个细节解决了问题。1、用的是Access数据库 所以用的是OleDbCommadBuilder 如果你用的是MYSQL请使用SqlCommandBuilder2、逻辑如下 dAdapter.SelectCommand = new OleDbCommand("select * from [StuInfo]",原创 2013-02-16 16:05:30 · 9592 阅读 · 0 评论 -
c# winform 自动升级
前一阵项目组需要一个自动升级的功能,让其他成员做了此模块,现想研究下所以百度了下,应该是按以下思路进行的!以下转自:http://ruantnt.blog.163.com/blog/static/190525452201181421440361/ winform自动升级程序示例源码下载客户端思路:1、新建一个配置文件Update.ini,用来存放软件的客户端版本:[upda转载 2013-02-18 09:29:59 · 4397 阅读 · 4 评论 -
window组件中没有IIS的解决方法!
window组件中没有IIS的解决方法!很有效!(转)2011-07-04 21:481.先在相关网站上下载IIS5.1安装文件. 2.把下载下来的IIS5压缩包解压到任意目录.3.在开始的运行里输入:"c:\Windows\inf\sysoc.inf",在[Components]里面加入一行,“iis=iis2.dll,OcEntry,iis2.inf,,7”,关闭该文件转载 2013-03-08 16:56:48 · 3028 阅读 · 0 评论 -
【发布软件】Visual Studio工具:自动递增版本号
前言VS项目的版本号由四位数字组成,a.b.c.d。风格有两种:主版本号 . 子版本号 [. 修正版本号 [. 编译版本号 ] ] 主版本号. 子版本号 [ 编译版本号 [. 修正版本号 ] ]编译版本号在源代码编译时递增。我采用的是第二种版本号风格,想要VS编译时自动递增这个号。于是我编写了IncBuildNo来完成这个任务。IncBuildNo是个命令转载 2013-03-20 10:03:13 · 3022 阅读 · 0 评论 -
C#面试大全(一)
2. const和readonly有什么区别? 答:const可以用于类的成员常量和局部常量,必须在声明时赋值,之后不可以对常量进行赋值。而readonly只能用于类的成员变量不能用于局部变量,在声明时可以不赋值,除了在构造函数中可以再次赋值外,其它的地方和const一样也不能赋值。 5. 接口和抽象类有什么区别?你选择使用接口和抽象类的依据是什么?答 答转载 2013-04-02 17:21:43 · 911 阅读 · 0 评论 -
winform安装项目、安装包的制作、部署
①1,解决方案—添加—新建项目—其他项目类型—安装和部署—安装项目,输入名称Setup,点“确定” 2,添加主输出:单击左侧“应用程序文件夹”,右侧右键—添加—项目输出-主输出-确定。 3,添加开始程序中的文件夹:右击左侧“用户的程序菜单”—添加—文件夹,自己设置名称。 4,添加开始程序中和桌面的主程序快捷方式:左侧单击刚新建的文件夹--右侧右键—创建新的快捷方式--选转载 2013-03-21 14:02:56 · 966 阅读 · 0 评论 -
VS08 安装与部署 将应用程序添加到启动项
1. 在“解决方案资源管理器”中选择“My Notepad Installer”项目。在“视图”菜单上指向“编辑器”,再单击“注册表”。此时,将会显示“注册表编辑器”。2. 在“注册表编辑器”中,选择“HKEY_CURRENT_USER”节点并展开它,再展开“Software”节点.3. 在“操作”菜单上指向“新建”,然后单击“键值”。4. 将该注册表项重命原创 2013-03-21 15:19:03 · 1367 阅读 · 0 评论 -
关于winform 屏蔽FLASH界面鼠标右键的问题
最近测试提出问题,要求屏蔽FLASH界面的鼠标右键,经过验证以下方法可行:在文件里添加以下代码:private const int GWL_WNDPROC = -4; public delegate IntPtr FlaWndProc(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam); private原创 2013-03-27 17:01:31 · 1200 阅读 · 0 评论 -
近来遇到的问题
近来由于项目原因需要用到其他研发部门提供的VC写的OCX控件,主要功能为base64加解密后进行3DES运算,网上从PUDN、CSDN都找了一些算法都不行,加密模式为CBC,密钥为24位、IV向量为8位。因为要从VC将这些抠出来然后用到C#里然后与JAVA开发的服务端进行联调,由于调用、匹配、编码的问题折腾了好久,倒是学会了用VC调试OCX,同时发现C#在非winform情况下调用VC原创 2013-04-23 11:29:46 · 968 阅读 · 0 评论 -
.Net Remoting与Web Service
随着.NET的推出,微软引入了一套新的通讯技术:Web Services和.NET remoting。.NET remoting和ASP.NET Web Services可以为建立分布式的应用提供强有力的支持。因此,为了在我们的应用程序中选择合适的技术,充分理解这两种技术的工作原理是非常必要的。 Web Service技术使用了HTTP、XML和SOAP技术进行通讯,因此,Web Ser转载 2012-03-09 10:12:24 · 486 阅读 · 0 评论 -
textbox输入限制
//--------------------------------------------------------------------------- 如想限制文本输入框输入数字1-4并允许使用删除键可以用以下方法 如:textbox名字是TB_PsamIc //-----------------------------------------原创 2012-01-18 15:13:16 · 432 阅读 · 0 评论 -
C#实现自动登录126邮箱
C#实现自动登录126邮箱<br />Captain Dialog 2009-11-06<br /> 针对邮箱的自动登录,需要用到网页文件的分析和动态传递信息。C#可以通过WebBrowser、WebClient、HttpWebRequest三种方式实现。本文采用WebBrowser的方式实现了登陆。1 网页文件分析<br />通过对126网站的登录页源文件分析中,可以找到相应的输入框:用户名、密码;以及用于点击登录的按钮。<br /><br />从上面的源代码分析中,我们找到了三个重要的控件的名称分转载 2010-11-03 13:18:00 · 3556 阅读 · 0 评论 -
在C#中使用SerialPort类实现串口通信
<br />在.NET Framework 2.0中提供了SerialPort类,该类主要实现串口数据通信等。本文章将本人在学习过程中从网络上搜集到的相关信息写出来供大家参考。<br />下面主要介绍该类的主要属性(表1)和方法(表.2)。<br />如果需要了解更多的信息请登录http://msdn.microsoft.com/zh-cn/library/system.io.ports.serialport(VS.80).aspx查看。<br />相关文章<br />《使用System.IO.Ports读转载 2011-05-17 11:21:00 · 741 阅读 · 0 评论 -
(转) string和byte[]的转换 (C#)
转(string和byte[]的转换 (C#)string类型转成byte[]:<br />byte[] byteArray = System.Text.Encoding.Default.GetBytes ( str );<br />反过来,byte[]转成string:<br />string str = System.Text.Encoding.Default.GetString ( byteArray );<br /><br />其它编码方式的,如System.Text.UTF8Encoding,Sy转载 2011-04-08 10:17:00 · 3734 阅读 · 0 评论 -
c#对文件操作系列1
System.IO 类 目录操作string[] drives = Directory.GetLogicalDrives(); //本地驱动器的名,如:C:/等string path = Directory.GetCurrentDirectory(); //获取应用程序的当前工作目录Path.GetFileName(@"c:/dir/file.txt"); //获取子目录的名字,result的结果是file.txtDirectory.GetFiles(路径及文件名)转载 2011-04-07 15:56:00 · 610 阅读 · 0 评论 -
c#当前应用程序路径(转)
<br />应该算是出于对各种DOCK的烦躁(部分DOCK程序在启动程序时,会把当前路径指派为DOCK所在路径,当程序中使用相对路径时,路径对“相对”到DOCK的文件夹里),我在程序中大多使用绝对路径来定位文件<br />方便后来者,在这里总结了下,也摘抄了点网上流传的<br />以我的程序为例<br />物理路径:<br />E:/c#学习/获取当前路径/获取当前路径/bin/Debug/获取当前路径.exeSystem.Environment.CurrentDirectory;//很熟悉了,获取和设置当转载 2011-04-07 15:53:00 · 633 阅读 · 0 评论 -
使用Shockwave Flash object
<br />1、安装Flashplayer 10以上的版本(尽量是最新的) <br /> <br />2、开始——运行——regsvr32 jscript.dll <br /> <br />3、开始——运行——regsvr32 vbscript.dll <br /> <br />4、在COM组件中添加shockwave Flash object与Microsoft Common Dialog Control,version 6.0 <br /> <br />5、 添加代码:<br />原创 2011-04-14 11:40:00 · 3156 阅读 · 0 评论 -
BackgroundWorker的使用
public void chang(){try{Form loadingform = new loading();loadingform.StartPosition = FormStartPosition.CenterParent;loadingform.ShowDialog();}catch{}}private void ultraButton1_Click(object sender, EventArgs e){ backgroundWorker1.RunWorkerAsync(); //开始后台执行c原创 2011-04-20 17:33:00 · 653 阅读 · 0 评论 -
WinForm嵌入Flash
<br />第一步:添加flash组件到工具箱<br />选择“工具”-》选择工具箱-》COM组件选项卡-》浏览,选择C:/WINDOWS/system32/Macromed/Flash /flash9b.ocx,点击确定,重新启动Visual 2005,此时在工具箱顶部会出现“FlashFactory”,“ShockwaveFlash”两个新控件,我们需要使用的是 “ShockwaveFlash。<br />第二步:注册自己添加的flash组件<br />在开始-》运行窗口执行如下命令:regsvr32转载 2011-04-19 13:16:00 · 3014 阅读 · 0 评论 -
C#获取IP及MAC地址的新方法
<br />using System.Net;<br />using System;<br />using System.Management;<br />using System.Runtime.InteropServices;<br />public class getIP<br />{<br />[DllImport("Iphlpapi.dll")] <br />private static extern int SendARP(Int32 dest,Int32 host,ref Int64 mac,转载 2011-04-20 11:08:00 · 912 阅读 · 0 评论 -
键盘虚拟键值编码表 使用keybd_Event
原文章 :http://www.cnblogs.com/nemolog/archive/2005/10/30/265035.html<br />模拟键盘输入首先要用到一个API函数:keybd_event。<br /> 我们是菜鸟,所以不必具体去理解它的详细用法,只要按以下方法使用即可了!呵呵!<br /> 模拟按键有两个基本动作,即按下键和放开按键,所以我们每模拟一次按键就要调用两次该API函数,其方法是:<br /> 例子1:模拟按下'A'键<br /> keybd_event(65,0,0,转载 2011-04-21 17:32:00 · 1133 阅读 · 0 评论 -
C#中的ToolTip类
<br />作用:鼠标悬停后显示彅短的说明性文字。<br />该控件位于System.Windows.Forms中,<br />一般用在窗体加酨事件中。<br />示例代码:<br />private void MainForm_Load(object sender, EventArgs e)<br />{<br />//创建一个ToolTip对象<br />ToolTip toolTip = new ToolTip();<br />//设置该提示性文字保歭的时间长度<br />toolTip.AutoPo转载 2011-04-27 14:56:00 · 856 阅读 · 0 评论 -
GzipStream压缩解压示例
创建如下类,目的是方便使用GZipStream类: public class GZip { public static byte[] Compress(byte[] data) { MemoryStream stream = new MemoryStream(); GZipStream gZipStream =转载 2011-06-20 14:47:00 · 1224 阅读 · 0 评论 -
判断大写锁定
<br /> // 如果大写锁定将其变为小写<br /> if ((GetKeyState(20) & -1) > 0)<br /> {<br /> keybd_event(20, 0, 0, 0);<br /> keybd_event(20, 0, 2, 0);<br /> }原创 2011-04-29 13:55:00 · 904 阅读 · 0 评论 -
DES ECB CBC
这一篇文章要解决数据加密——数据补位的问题、DES算法的两种模式ECB和CBC问题以及更加安全的算法——3DES算法。一、数据补位DES数据加解密就是将数据按照8个字节一段进行DES加密或解密得到一段8个字节的密文或者明文,最后一段不足8个字节,按照需求补足8个字节(通常补00或者FF,根据实际要求不同)进行计算,之后按照顺序将计算所得的数据连在一起即可。这里有个问题就转载 2011-11-30 16:31:27 · 4999 阅读 · 1 评论 -
C#高级编程 多种方式读写文本文件
理论上,可以使用FileStream类读取和显示文本文件。前面已经介绍了这个类。上面显示NewFile.txt文件的格式不太容易理解,但这并不是FileStream类的问题——而在于我们在文本框中显示结果所使用的方式。 如果知道某个文件包含文本,通常就可以使用StreamReader 和 StreamWriter类更方便地读写它们。这是因为这些类工作的级别比较高,特别适合于读写文本。它们执转载 2011-12-15 21:59:52 · 630 阅读 · 0 评论 -
C# winform 引用Grid++Report
转自:http://blog.sina.com.cn/s/blog_a507d0c5010109ma.html报表在大多数的系统中要用到的,因为人们常常关心的是结果,而报表最好能把这些数据呈现出来我为大家推荐Grid++Report报表控件,并简单的介绍一下该控件的用法Grid++Report是一款不错的报表控件,其功能非常强大.关于该控件的信息,在此不作详细介绍有兴趣到该转载 2014-01-10 16:54:52 · 12340 阅读 · 1 评论