- 博客(24)
- 资源 (12)
- 收藏
- 关注
原创 应用程序返回值的设置与获取
program 1 Code: private void button1_Click(object sender, EventArgs e) { Process process = new Process(); process.StartInfo.FileName =Application.StartupPath +"//parameters.exe"; process.StartInfo.Arg
2010-07-29 16:40:00 841
原创 (c#)获取相对路径
<br />一、获取当前文件的路径 <br />1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName <br />获取模块的完整路径,包括文件名。 <br />2. System.Environment.CurrentDirectory <br />获取和设置当前目录(该进程从中启动的目录)的完全限定目录。 <br />3. System.IO.Directory.GetCurrentDirectory() <br />获
2010-07-26 22:48:00 745
原创 C#中AppDomain.CurrentDomain.BaseDirectory与Application.StartupPath的区别
<br />// 获取程序的基目录。<br />System.AppDomain.CurrentDomain.BaseDirectory<br /><br />// 获取模块的完整路径。<br />System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName<br /><br />// 获取和设置当前目录(该进程从中启动的目录)的完全限定目录。<br />System.Environment.CurrentDirectory<br />
2010-07-26 22:46:00 4463 2
原创 组件类与普通类的区别
<br />组件类产生dll ,普通类不会。<br /> <br />分开编译方便,程序小而且一个人做没必要了。<br /> <br />理论上具备一定重用性的类都可以称为组件。<br /> <br />没有太大区别,应该说是一样的,组件类需要实现几个特定的方法。<br /> <br />组件类派生于System.ComponentModel.Component类,因此它具有Component基类的所有特性,组件类具有设计器,可用于以可视化的方式为组件添加特性。<br /> <br />组件类具有IDE特性
2010-07-24 21:56:00 8600 1
原创 Backgroundworker 类与 .net Timer组件
2010-07-24 15:44:28这里先说前者。优势:1:一个需要很长时间才能完成的操作,而且不希望用户界面中出现延迟,则可以使用 BackgroundWorker 类来在另一个线程上运行该操作。2:出来dowork事件,在其他事件中可以直接对UI画面进行操作(这一点很重要)后者:system.timers.timer :虽然也是另起线程,但是他公用系统threadpool,有可能造成任务排队。时间的准确性严重下降。system.windows.forms.timer: 启用.net消息处理机制,并非另
2010-07-24 15:45:00 713
转载 System.Data.DataTable的奇异之处
<br />http://blog.csdn.net/jinjazz/archive/2008/04/08/2261721.aspx<br /> <br /> <br />using System;using System.ComponentModel;using System.Data;using System.Windows.Forms;namespace WindowsApplication1{ public partial class Form1 : Form
2010-07-24 15:32:00 2927
转载 singleton模式
<br />using System.Windows.Forms;class Singleton{ private static volatile Singleton _instance = null; public static Singleton Instance() { if (_instance == null) { lock (typeof(Singleton))
2010-07-24 08:11:00 477
原创 EXE 程序读写配置文件
<br />using System.Xml;using System.IO;using System.Windows.Forms;using System;class Program{ static void Main(string[] args) { // string str1 = AppConfig(); // // SetValue("pwd", "Pass@word"); //Stri
2010-07-24 08:05:00 1257
转载 AutoResetEvent 与 ManualResetEvent
http://blog.csdn.net/netfuns/archive/2009/05/16/4189540.aspx 在.Net多线程编程中,AutoResetEvent和ManualResetEvent这两个类经常用到, 他们的用法很类似,但也有区别。Set方法将信号置为发送状态,Reset方法将信号置为不发送状态,WaitOne等待信号的发送。可以通过构造函数的参数值来决定其初始状态,若为true则非阻塞状态,为false为阻塞状态。如果某个线程调用WaitOne方法,则当信号处于发送状态时,
2010-07-24 07:47:00 543
原创 前台线程和后台线程
<br /> .Net的公用语言运行时(Common Language Runtime,CLR)能区分两种不同类型的线程:前台线程和后台线程。这两者的区别就是:应用程序必须运行完所有的前台线程才可以退出;而对于后台线程,应用程序则可以不考虑其是否已经运行完毕而直接退出,所有的后台线程在应用程序退出时都会自动结束。 <br /> <br /> <br /> 一个线程是前台线程还是后台线程可由它的IsBackground属性来决定。这个属性是可读又可写的。它的默认值为false,即意味着一个线程默认为
2010-07-24 07:25:00 512
转载 一个加密算法
http://idai.blogbus.com/logs/7526557.html据说此加密算法每次加密的结果都不同,但解密的结果相同【互联网还有很多牛人的啊】using System; namespace test001{ /** 对sSource,进行加密、解密操作。 @param sSource String :操作的字符串 @param iFlag int :操作类型 1-加密 2-解密 @return String :加密或解密后的字符串 **/ public class
2010-07-23 22:47:00 409
原创 GUID(Global unique identifier)
<br />GUID(Global unique identifier)全局唯一标识符,它是由网卡上的标识数字(每个网卡都有唯一的标识号)以及 CPU 时钟的唯一数字生成的的一个 16 字节的二进制值。<br /> <br />GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字。<br /> <br />世界上的任何两台计算机都不会生成重复的 GUID 值。GUID 主要用于在拥有多个节点、多台计算
2010-07-23 22:44:00 499
转载 项目经理
<br />1. 把握项目进度,有经验的项目经理,能根据经验,并准确判断当前状况,准确预测进度并及时处理事务。<br />2、打造稳定的项目团队。这个稳定,不是要求团队成员一尘不变。而是要尽可能确保稳定。 <br />3、关注团队成员成长。挖掘每个人的优势,指引/培养每个成员的优势。让每个成员有不断进步的感知和成就感。 <br />4、真诚对待每一个团队成员。凝聚团队。让每个成员都有责任感,使命感。 <br />5、把握技术方向。协助成员之间沟通技术或提出技术方案思路。 <br />6、把握需求变更,合理评
2010-07-22 00:03:00 448
转载 system.times.timer与system.windows.forms.timer的区别
http://shansun123.javaeye.com/blog/550155
2010-07-21 15:39:00 1152
转载 用C#创建COM组件全过程
<br />http://developer.51cto.com/art/200907/133668.htm<br /> 用C##创建COM组件看来是个很简单的功能,但因为此类文章较少,还是有很多不明白的地方需要学习。本文详细阐述如何用C#创建COM组件,并能用VC6.0等调用。<br /> <br />本文详细阐述如何用C#创建COM组件,并能用VC6.0等调用。并附有完整测试通过的代码。该功能总体看来很简单。可是我在第一次用C#做COM的时候,痛不欲生。因为很少有人写这类文章。而且就算有代码也是
2010-07-18 11:17:00 438
原创 控制停靠行为
<br /> 当使用停靠功能时,将控件添加到窗体时所使用的顺序可影响屏幕上控件的布局。如果没有按照正确的顺序添加控件,则这些控件不会总是在屏幕上的预期位置出现。<br /> 将控件添加到窗体时所使用的顺序会对 Z 顺序产生影响,当在一个父控件中停靠多个控件时,Z 顺序将决定布局逻辑。第一个添加到父控件中的控件将位于 Z 顺序的底部,而随后添加的控件将按顺序向上叠加。如果试图将两个控件停靠在一个父控件中的同一区域以便将一个控件置于另一个控件旁边,则 Z 顺序中更靠后的控件在得到的布局中靠前
2010-07-16 11:03:00 497
原创 项目的右键菜单的制作
<br />制作步骤:<br /> <br />1.菜单制作<br />2.注册表的操作<br />3.注册工具进行注册 regasm.exe<br /> <br /> <br /> <br /> <br /> <br /> <br />有意思是地方是,在一个项目安装的过程中,注册工具会自动去查找解决方案中要注册的内容。初步判断是根据类的不同类型来识别的。<br />菜单制作类的类型与继承类型<br />AppContextMenu : IShellExtInit, IContextMenu, IPersi
2010-07-08 17:38:00 599
原创 C#项目 系统升级的思考
<br />系统升级有2种途径<br /><br />1.通过.exe文件直接安装法<br />2.文件替换法<br /> <br /> <br /> <br /> <br />4.----------------------------------------------------<br />SFT项目是通过文件替换的方法来升级的。通过实践,发现文件替换法不足之处和一些值得注意的问题。<br /><br />a. 项目如果涉及注册表的操作,文件替换升级要考虑注册表,修改系统的版本号是最主要的问题,如果注
2010-07-08 17:20:00 542
原创 C# 卸载快捷方式制作
<br />1. 主要是使用系统自带的msiexec.exe<br />2. 它在系统盘/program files/windows/system32下面<br />3. 使用举例: /x {productcode} /qf<br />---------------------------------------------------------------------------------<br /> <br />下面是关于msiexec.exe使用的一些详细参数<br />--:<br />Wind
2010-07-08 17:01:00 839
转载 Problem when launching several jobs at the same time
DescriptionI changed the TestSmartThreadPool demo to do this :for (int i = 0; i
2010-07-03 00:22:00 417
转载 SMART THREAD POOL
<br />顾名思义,智能线程池.一定比自带的线程池有过人之处.不然也没有必要再搞个出来了.<br /><br />•可创建线程池实例。 <br />•可动态调整线程池工作线程数量。 <br />•WorkItem 可以返回信息。 <br />•未执行 WorkItem 可被取消。 <br />•WorkItem 执行时可使用调用者上下文。 <br />•调用者可等待多个或全部 WorkItem 执行结束。 <br />•WorkItem 允许拥有一个执行结束时被执行的 PostExecute 回调委托。
2010-07-02 23:56:00 628
智能仓储解决方案
2018-09-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人