代码改变世界

随笔分类 -  C#

Winform获取应用程序的当前路径的方法集合,具体如下,值得收藏

2012-08-17 21:34 by javaspring, 172 阅读, 收藏,
摘要: Winform获取应用程序的当前路径的方法集合,具体如下,值得收藏 //获取当前进程的完整路径,包含文件名(进程名)。 string str = this.GetType().Assembly.Location; result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名) //获取新的Process 组件并将其与当前活动的进程关联的主模块的完整路径,包含文件名(进程名)。 string str = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName; result: X:.. 阅读全文

WinForm多线程+委托防止界面卡死

2012-08-15 17:22 by javaspring, 498 阅读, 收藏,
摘要: 1、当有大量数据需要计算、显示在界面或者调用sleep函数时,容易导致界面卡死,可以采用多线程加委托的方法解决using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; using System.Diagnostics; using System.Runtime.InteropServices; 阅读全文

判断应用程序结束

2012-08-15 16:25 by javaspring, 578 阅读, 收藏,
摘要: 1、C#工程中调用外部应用程序,可能会导致死锁,如下面情况: C#工程调用外部程序,标准输出流被重定向,而Process.StandardOutput的缓冲大小是有限制的(据说是4k),所以当缓冲满了的时候,子进程(a.exe)会等待主进程(C# App)读取并释放此缓冲,而主进程由于调用了WaitForExit()方法,则会一进等待子进程退出,最后形成死锁。 解决方法如下: Process ps = new Process(); ps.StartInfo.FileName = "a.exe"; ps.StartInfo.WindowStyle = ProcessWindo 阅读全文

GPS项目小结

2012-08-07 11:23 by javaspring, 445 阅读, 收藏,
摘要: GPS项目中涉及到的技术有地图纠偏,js与winform c#的交互等方面:1 google地图纠偏,可以私下call我...QQ(964877814)....,其实主要因为考虑到政治以及军事安全的问题,所以国内的地图存在偏差,而且不同地方的偏差不同,但是相应的计算偏差的算法不可能公开的缘故,所以只能依靠一些纠偏数据来纠正。 纠偏数据可以自己获得,因为地图所谓的偏差值只是:(例加入使用google map 代码加GPS经纬度),明显,GPS经纬度不可能出现错误,人家是卫星各种东东定位,商业产品...所以出错就是在于google map与 GPS经纬度的交互后,也就是说实际在google把准确的 阅读全文

关于谷歌地图GPS偏移问题的解决办法

2012-08-06 21:38 by javaspring, 307 阅读, 收藏,
摘要: http://blog.csdn.net/hushoubo/article/details/7708804 阅读全文

使用WebClient或HttpWebRequest模拟上传文件和数据

2012-08-06 21:36 by javaspring, 503 阅读, 收藏,
摘要: 使用WebClient或HttpWebRequest模拟上传文件和数据转载 C# Winform利用POST传值方式模拟表单提交数据(Winform与网页交互) 阅读全文

HTTP协议详解

2012-08-06 21:35 by javaspring, 188 阅读, 收藏,
摘要: HTTP协议详解 阅读全文

Interop(交互) Between C# and C++ 研究一

2012-08-06 21:33 by javaspring, 148 阅读, 收藏,
摘要: http://www.cnblogs.com/gandancing/archive/2008/10/14/1311234.html 阅读全文

程序C++ to C#交互

2012-08-06 21:32 by javaspring, 294 阅读, 收藏,
摘要: http://blog.csdn.net/foodvc/article/details/3344241C#与C++的非托管代码交互小试(C#调用C++的DLL) 阅读全文

C#与C/C++的交互 转自(warensoft)

2012-08-06 21:30 by javaspring, 145 阅读, 收藏,
摘要: http://blog.csdn.net/educast/article/details/7783037 阅读全文

AppDomain.CurrentDomain.BaseDirectory与Application.StartupPath的区别

2012-05-26 18:17 by javaspring, 1126 阅读, 收藏,
摘要: 事由:开始用vs2008.在vs2005下复制相关代码PicDir = Application.StartupPath & "\SmallPic"2008中提示有误。 vs2008没法直接用Application.StartupPath找了一下才明白,原来Application对象是来源于:System.Windows.Forms ,以前vs2005都直接调用的。以后最好用:System.AppDomain.CurrentDomain.BaseDirectory 不过要注意路径最后多了一个“ \”值得注意: PicDir = IO.Path.Combine(AppD 阅读全文

2012/5/26日志

2012-05-26 16:57 by javaspring, 256 阅读, 收藏,
摘要: 1 想在winform中显示map及各种操作等: 方法一: 可以在winform上使用webBrowser的,然后webBrowser的url属性指向本地的某一个你需要的.html文件. 方法二: 可以在winform上使用webBrowser的,然后设置url的属性指向“http://.....”. 但是对于第一种方法而言,绝对地址很容易造成麻烦,解决的方案: string address=System.AppDomain.CurrentDomain.BaseDirectory+"baidumap.html"; this.webBrowser1.Url = new Sys 阅读全文

HashCode和equal方法的区别和联系

2012-02-20 10:22 by javaspring, 288 阅读, 收藏,
摘要: equals()反映的是对象或变量具体的值,即两个对象里面包含的值--可能是对象的引用,也可能是值类型的值。而hashCode()是对象或变量通过哈希算法计算出的哈希值。之所以有hashCode方法,是因为在批量的对象比较中,hashCode要比equals来得快,很多集合都用到了hashCode,比如HashTable。两个obj,如果equals()相等,hashCode()一定相等。两个obj,如果hashCode()相等,equals()不一定相等(Hash散列值有冲突的情况,虽然概率很低)。所以:可以考虑在集合中,判断两个对象是否相等的规则是:第一步,如果hashCode()相等,则 阅读全文

最好的委托与事件详解一(转自张子阳博客)

2012-02-04 16:04 by javaspring, 217 阅读, 收藏,
摘要: C# 中的委托和事件引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对Observer设计模式的意义,对它们的中间代码也做了讨论。将方法作为方法的参数我们先不管这个标题如何的绕口,也不管委托究竟是个什么东西,来看下面这两个最简单的方法,它们不过 阅读全文

c#之用户定义的数据类型转换

2012-01-31 19:01 by javaspring, 312 阅读, 收藏,
摘要: c# 允许用户进行两种定义的数据类型转换,显式和隐式,显式要求在代码中显式的标记转换,其方法是在圆括号中写入目标数据类型。 对于预定义的数据类型,当数据类型转换时可能失败或丢失某些数据,需要显式转换, 1 把int数值转换成short时,因为short可能不够大,不能包含转换的数值。 2 把有符号的数据转换为无符号的数据,如果有符号的变量包含一个负值,会得到不正确的结果。 3 把浮点数转换为整数数据类型时,数字的小数部分会丢失。 此时应在代码中进行显式数据类型,告诉边起义你知道这会有丢失数据的危险,因此编写代码时套把这些可能考虑在内。 c#允许定义自己的数据类型,这意味着需要某些工具支持在自. 阅读全文