<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[工控IT“陈生开”的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/csklss</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; csklss]]></copyright><item><title><![CDATA[C#调用C++非托管代码的方法，不积硅步无以至千里]]></title><link>https://blog.youkuaiyun.com/csklss/article/details/110717309</link><guid>https://blog.youkuaiyun.com/csklss/article/details/110717309</guid><author>csklss</author><pubDate>Sat, 05 Dec 2020 19:58:22 +0800</pubDate><description><![CDATA[http://www.mamicode.com/info-detail-2663298.html



http://www.cnblogs.com/liping13599168/archive/2011/03/31/2000320.html



https://www.cnblogs.com/lonelyxmas/p/10747921.html
]]></description><category></category></item><item><title><![CDATA[向控件拖放数据，不积硅步无以至千里]]></title><link>https://blog.youkuaiyun.com/csklss/article/details/110660671</link><guid>https://blog.youkuaiyun.com/csklss/article/details/110660671</guid><author>csklss</author><pubDate>Fri, 04 Dec 2020 16:50:17 +0800</pubDate><description><![CDATA[1. 设置待接收数据控件的AllowDrop属性为True

2.


private void textBox1_DragEnter(object sender, DragEventArgs e)
{
    //必须设置拖放效果
    e.Effect = DragDropEffects.Copy;
}

private void textBox1_DragDrop(object sender, DragEventArgs e)
{
    IDataObject dataObject = e.Dat]]></description><category></category></item><item><title><![CDATA[打包成安装文件或集成EXE的方法，不积硅步无以至千里]]></title><link>https://blog.youkuaiyun.com/csklss/article/details/110624719</link><guid>https://blog.youkuaiyun.com/csklss/article/details/110624719</guid><author>csklss</author><pubDate>Fri, 04 Dec 2020 09:56:41 +0800</pubDate><description><![CDATA[VS2017 打包成exe 在项目的解决方案 右键→ 新建项目 后出现如下选择 
（如果没有找到，请在下面这个网站学习下载并安装 visual studio installer 的教程） https://www.cnblogs.com/lxhbky/p/10695527.html 
...]]></description><category></category></item><item><title><![CDATA[C#操作Excel表格，不积硅步无以至千里]]></title><link>https://blog.youkuaiyun.com/csklss/article/details/110421702</link><guid>https://blog.youkuaiyun.com/csklss/article/details/110421702</guid><author>csklss</author><pubDate>Tue, 01 Dec 2020 09:39:00 +0800</pubDate><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;本文主要介绍一下c#来操作excel表格，主要介绍我使用的，我是使用第三方提供的函数库（NPOI）来进行excel的操作，而NPOI库函数在其官网下，我这里就不拿出来了。


1：NPOI库函数




NPOI库函数下载后，解压出来有一下几个DLL文件，我们就是通过这几个DLL库文件中提供的函数来操作





2：介绍一下excel表格


&nbsp...]]></description><category></category></item><item><title><![CDATA[ListBox美化重绘，不积硅步无以至千里]]></title><link>https://blog.youkuaiyun.com/csklss/article/details/110405110</link><guid>https://blog.youkuaiyun.com/csklss/article/details/110405110</guid><author>csklss</author><pubDate>Mon, 30 Nov 2020 20:36:53 +0800</pubDate><description><![CDATA[如果要对ListBox控件进行自定义绘制（美化），那么首先必须将ListBox的DrawMode属性设置为OwnerDrawVariable或OwnerDrawFixed。ListBox有个ItemHeight属性，在DrawMode设置为Normal时，这个属性是不可设置的，并且其值是根据当前字体进行计算获得的。只有当DrawMode设置为OwnerDrawVariable或OwnerDrawFixed时，设置ItemHeight才生效。





属性


说明



Normal
组件的所有元素都由操]]></description><category></category></item><item><title><![CDATA[FileStream、StreamWriter、StreamReader常用方法，不积硅步无以至千里]]></title><link>https://blog.youkuaiyun.com/csklss/article/details/110352041</link><guid>https://blog.youkuaiyun.com/csklss/article/details/110352041</guid><author>csklss</author><pubDate>Sun, 29 Nov 2020 20:11:22 +0800</pubDate><description><![CDATA[private void button1_Click(object sender, EventArgs e)
{
    try
    {
        //创建主测试文件夹
        Directory.CreateDirectory(@".\TestDirectory");
        //创建测试文件
        using (File.Create(@".\TestDirectory\Test.txt")) { } ;

        //声明FileStream对象
    .]]></description><category></category></item><item><title><![CDATA[DataSet、DataTable、DataColumn，不积硅步无以至千里]]></title><link>https://blog.youkuaiyun.com/csklss/article/details/110209988</link><guid>https://blog.youkuaiyun.com/csklss/article/details/110209988</guid><author>csklss</author><pubDate>Thu, 26 Nov 2020 23:11:22 +0800</pubDate><description><![CDATA[public void Do()
{
    //创建数据集
    DataSet dataSet = new DataSet();

    //创建数据表
    DataTable dataTable1 = new DataTable();
    //创建字段
    DataColumn idColumn1 = new DataColumn("id",typeof(int));
    DataColumn nameColumn1 = new DataColumn("name",typeof(.]]></description><category></category></item><item><title><![CDATA[C#操作SqlServer数据库，不积硅步无以至千里]]></title><link>https://blog.youkuaiyun.com/csklss/article/details/110121164</link><guid>https://blog.youkuaiyun.com/csklss/article/details/110121164</guid><author>csklss</author><pubDate>Thu, 26 Nov 2020 21:24:46 +0800</pubDate><description><![CDATA[1. 连接数据库     

     1. 创建SqlConnection对象:SqlConnection sqlConnection = new SqlConnection();     

     2. 创建连接字符串:Server=服务名称;Uid=用户名;Pwd=密码;DataBase=库名

       string sqlConnectionString = @"Server=LocalHost\KAITESTSQLSERVE...]]></description><category></category></item><item><title><![CDATA[App.config文件的使用，不积硅步无以至千里]]></title><link>https://blog.youkuaiyun.com/csklss/article/details/110136139</link><guid>https://blog.youkuaiyun.com/csklss/article/details/110136139</guid><author>csklss</author><pubDate>Wed, 25 Nov 2020 17:21:15 +0800</pubDate><description><![CDATA[1. 在文件中新添加一个结构


&lt;?xml version="1.0" encoding="utf-8" ?&gt;
&lt;configuration&gt;
    &lt;connectionStrings&gt;
      &lt;add name="conn" connectionString="Server=LocalHost\KAITESTSQLSERVER;Uid=sa;Pwd=1234;DataBase=KaiTest" /&gt;
    &lt;/connectionStri]]></description><category></category></item><item><title><![CDATA[PropertyGrid控件的使用，不积硅步无以至千里]]></title><link>https://blog.youkuaiyun.com/csklss/article/details/110133611</link><guid>https://blog.youkuaiyun.com/csklss/article/details/110133611</guid><author>csklss</author><pubDate>Wed, 25 Nov 2020 16:08:05 +0800</pubDate><description><![CDATA[1. 创建PropertyGrid控件对象

2. 创建填充类:

     CategoryAttribute字段上方属性，用来进行分组

     DescriptionAttribute字段上方属性，用来进行解释说明


public class Xin
{
    [CategoryAttribute("唯一标识"), DescriptionAttribute("表主键")]
    public int id { set; get; }
    public strin...]]></description><category></category></item><item><title><![CDATA[SqlServer骚操作，不积硅步无以至千里]]></title><link>https://blog.youkuaiyun.com/csklss/article/details/110117014</link><guid>https://blog.youkuaiyun.com/csklss/article/details/110117014</guid><author>csklss</author><pubDate>Wed, 25 Nov 2020 11:21:29 +0800</pubDate><description><![CDATA[1. 类型转换方法1:Convert(目标类型,待转换的字段,格式)

2. 类型转换方法2:Cast(待转换的字段 as 目标类型)

3. 日期增加:DateAdd(日期的年/月/日...,增加的数值,日期字段)

4. 日期减少:DateDiff(日期的年/月/日...,开始日期字段,结束日期字段)

5. 取出日期的年/月/日...:DatePart(年/月/日...,日期字段)

6. 将字符串转成大写:Upper(待转换字段)

7. 将字符串转成小写:Lower(待转换字段)

8. 将字符转]]></description><category></category></item><item><title><![CDATA[SqlServer数据库通过Sql语句操作，不积硅步无以至千里]]></title><link>https://blog.youkuaiyun.com/csklss/article/details/110074922</link><guid>https://blog.youkuaiyun.com/csklss/article/details/110074922</guid><author>csklss</author><pubDate>Tue, 24 Nov 2020 16:38:55 +0800</pubDate><description><![CDATA[1. 创建数据库:Create DataBase 库名

2. 使用数据库:Use 库名

3. 创建表:Create Table 表名

       (

           字段名1 数据类型 identity(1,1) Primary Key Not Null,

           字段名2 数据类型 Not Null,

           字段名2 数据类型 Null

       )
...]]></description><category></category></item><item><title><![CDATA[MD5常用方法，不积硅步无以至千里]]></title><link>https://blog.youkuaiyun.com/csklss/article/details/109904106</link><guid>https://blog.youkuaiyun.com/csklss/article/details/109904106</guid><author>csklss</author><pubDate>Tue, 24 Nov 2020 14:09:59 +0800</pubDate><description><![CDATA[1. 创建待加密数据的字节数组:byte[] info=new byte[]{待加密数据}

2. 创建加密后的MD5字节数组:byte[] md5Result=new byte[32]

3. 创建MD5对象:MD5 md5=MD5.Create();

4. 接收MD5结果:md5Result=md5.ComputeHash(info);
]]></description><category></category></item><item><title><![CDATA[数据库常用命令，不积硅步无以至千里]]></title><link>https://blog.youkuaiyun.com/csklss/article/details/109939428</link><guid>https://blog.youkuaiyun.com/csklss/article/details/109939428</guid><author>csklss</author><pubDate>Tue, 24 Nov 2020 14:09:00 +0800</pubDate><description><![CDATA[1. 查看数据库:Show DataBases;

2. 新建数据库:Create DataBase 库名 characterset 字符集名称

3. 查看数据库信息:Show CreateDataBase 库名

4. 删除数据库:Drop DataBase 库名

5. 使用数据库:Use 库名

6. 创建表:Create Table 表名(名称) charset=字符集名称

7. 显示当前数据库的全部表:Show Tables

8. 显示一个表的详细信息:Show CreateTable 表名]]></description><category></category></item><item><title><![CDATA[SqlServer数据库环境准备，不积硅步无以至千里]]></title><link>https://blog.youkuaiyun.com/csklss/article/details/110070780</link><guid>https://blog.youkuaiyun.com/csklss/article/details/110070780</guid><author>csklss</author><pubDate>Tue, 24 Nov 2020 14:08:34 +0800</pubDate><description><![CDATA[1. 打开TCP/IP网络访问权限:控制面板-&gt;管理工具-&gt;计算机管理-&gt;服务和应用程序-&gt;SqlServer配置管理器-&gt;SqlServer网络配置-&gt;实例名的协议-&gt;TCP/IP设置为“已启   用”-&gt;重启SqlServer的服务

2. 开启多种方式登陆SqlServer:用windows身份验证进入SqlServer管理器-&gt;安全性-&gt;登录名-&gt;sa-&gt;状态-&gt;设置中，授予及登陆-&gt;重启SqlServer的服务..]]></description><category></category></item><item><title><![CDATA[SoundPlayer常用方法，不积硅步无以至千里]]></title><link>https://blog.youkuaiyun.com/csklss/article/details/109920333</link><guid>https://blog.youkuaiyun.com/csklss/article/details/109920333</guid><author>csklss</author><pubDate>Sun, 22 Nov 2020 10:53:13 +0800</pubDate><description><![CDATA[1. 创建SoundPlayer对象:SoundPlayer soundPlayer=new SoundPlayer(wav文件路径);

2. 播放:soundPlayer.Play();
]]></description><category></category></item><item><title><![CDATA[Stopwatch常用方法，不积硅步无以至千里]]></title><link>https://blog.youkuaiyun.com/csklss/article/details/109922819</link><guid>https://blog.youkuaiyun.com/csklss/article/details/109922819</guid><author>csklss</author><pubDate>Sun, 22 Nov 2020 10:53:02 +0800</pubDate><description><![CDATA[1. 创建Stopwatch对象:Stopwatch stopWatch = new Stopwatch();

2. 开始计时:stopWatch.Start();

3. 停止计时:stopWatch.Stop();

4. 获取结果:TimeSpan timeSpan=stopwatch.Elapsed;
]]></description><category></category></item><item><title><![CDATA[string常用方法，不积硅步无以至千里]]></title><link>https://blog.youkuaiyun.com/csklss/article/details/109921290</link><guid>https://blog.youkuaiyun.com/csklss/article/details/109921290</guid><author>csklss</author><pubDate>Sun, 22 Nov 2020 10:52:15 +0800</pubDate><description><![CDATA[1. 字符串至数值转换:

      创建转换结果标志:bool successFlag=false;

      创建待转换字符串:string age=27;

      创建用来保存转换结果值的变量:int result=-1;

      转换:希望转换后得到的类型.TryParse(age,out result);

2. 字符串至字符数组转换:

      创建待转换字符串:string info="abc123";

 ...]]></description><category></category></item><item><title><![CDATA[Serialized常用方法，不积硅步无以至千里]]></title><link>https://blog.youkuaiyun.com/csklss/article/details/109905689</link><guid>https://blog.youkuaiyun.com/csklss/article/details/109905689</guid><author>csklss</author><pubDate>Sun, 22 Nov 2020 10:51:17 +0800</pubDate><description><![CDATA[1. 将类的上方加上[Serializable],定义为可被序列化的

2. 将不想序列化的字段,上方加上[NonSerialized]

3. 创建文件流:FileStream fileStream=new FileStream(序列化后保存在该全路径下,文件的操作模式,文件的读写权限);

4. 创建BinaryFormatter对象:BinaryFormatter binaryFormatter=new BinaryFormatter();

5. 序列化:binaryFormatter.Serial]]></description><category></category></item><item><title><![CDATA[Path常用方法，不积硅步无以至千里]]></title><link>https://blog.youkuaiyun.com/csklss/article/details/109904634</link><guid>https://blog.youkuaiyun.com/csklss/article/details/109904634</guid><author>csklss</author><pubDate>Sun, 22 Nov 2020 10:51:05 +0800</pubDate><description><![CDATA[1. 将相对路径转换为全路径:Path.GetFullPath(相对路径);

2. 获取包含这个文件或文件夹的文件夹名称:Path.GetDirectoryName(文件/文件夹的全路径);

3. 获取路径下最终文件的文件名(不包含扩展名):Path.GetFileNameWithoutExtension(文件全路径);

4.获取路径下最终文件的扩展名:Path.GetExtension(文件全路径);

5.获取路径下最终文件的文件名(含扩展名):Path.GetFileName(文件全路径);..]]></description><category></category></item></channel></rss>