随笔分类 -  winform C#

摘要:根据标题获取窗口句柄using System; using System.Runtime.InteropServices; namespace tstfindwindow { /// /// Class1 的摘要说明。 /// class Class1 { [DllImport( "User32.dll ")] public static extern System. IntPtr FindWindowEx(System. IntPtr parent, System. IntPtr childe, string strclass, string st... 阅读全文
posted @ 2012-11-20 15:38 北冥子 阅读(4837) 评论(0) 推荐(0)
摘要:可以通过C#中的DllImport直接调用这些已经存在的功能(比如Windows中的一些功能,C++中已经编写好的一些方法)。DllImport所在的名字空间 using System.Runtime.InteropServices;MSDN中对DllImportAttribute的解释是这样的:可将该属性应用于方法。DllImportAttribute 属性提供对从非托管 DLL 导出的函数进行调用所必需的信息。作为最低要求,必须提供包含入口点的 DLL 的名称。DllImport 属性定义如下:namespace System.Runtime.InteropServices{ [Attr. 阅读全文
posted @ 2012-11-20 15:26 北冥子 阅读(897) 评论(0) 推荐(0)
摘要:方法一:private void textBox1_Enter(object sender, EventArgs e) { InputLanguage il = InputLanguage.InstalledInputLanguages[0]; InputLanguage.CurrentInputLanguage = il; } private void textBox1_Leave(object sender, EventArgs e) { InputLanguage il = InputLanguage.InstalledInputLanguages[1]; InputLa... 阅读全文
posted @ 2012-11-20 14:43 北冥子 阅读(936) 评论(0) 推荐(0)
摘要:一般有两种方法,我是用的是第一种方法1:在项目的第一个窗体的启动事件中 如form1_load() 中添加如下语句#region 判断系统是否已启动 System.Diagnostics.Process[] myProcesses = System.Diagnostics.Process.GetProcessesByName("这里是你的程序进程名");//获取指定的进程名 if (myProcesses.Length > 1) //如果可以获取到知道的进程名则说明已经启动 { MessageBox.Show("程序已启动!"); Applicat 阅读全文
posted @ 2012-10-24 15:35 北冥子 阅读(13661) 评论(2) 推荐(2)
摘要:程序退出的方法:this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题;System.Environment.Exit(0); 这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。 阅读全文
posted @ 2012-10-24 13:49 北冥子 阅读(1324) 评论(0) 推荐(0)
摘要:表现:excel中某列中,有的单元格左上角有绿色箭头标志,有的没有,c#编写读取程序,但是只能读取出带绿色箭头的单元格中的内容,其余不带的读取不到内容原因:excel中单元格因为是文本格式而存储了数值,导致后台错误检查,在左上角显示绿色箭头解决:string strConn;原来读取不完全的写法:strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/test.xls;"+ "Extended Properties=Excel 8.0;";完全读出的写法:strConn = "Pro 阅读全文
posted @ 2012-08-11 12:56 北冥子 阅读(4551) 评论(1) 推荐(0)
摘要:转自http://blog.csdn.net/jjjjj102310253/article/details/3935545socket 发送十六进制的字符串项目用到 socket tcp/ip 发送/接受 十六进制的字符串,因为C# socket 发送接受的都是byte[] (字节数组),现在记录tyte[] 与各数据类型之间的转换注:C#的字节数组 byte[] 存放的时间是0-255的整型数据 byte 关键字代表一种整型,该类型按下表所示存储值:可如下例所示声明并初始化 byte 类型的变量: byte myByte = 255; 在以上声明中,整数 255 从 int 隐式转换为 by 阅读全文
posted @ 2012-05-09 08:50 北冥子 阅读(7835) 评论(0) 推荐(0)
摘要:A、若字符串为"COOCON";样式方法一:正则表达式string str = "COOCON"; str = Regex.Replace(str, "(?s)(.)(?=.*\\1)", ""); Console.WriteLine(str); /*--------------------------------------------------------- (?s)(.)(?=.*\1) 表达式说明 (?s) 开启单行模式 DOTALL 让. 号匹配任意字符 (.) 任意字符 并捕获在第一组 (?=.*\1 阅读全文
posted @ 2012-04-27 16:27 北冥子 阅读(1043) 评论(0) 推荐(0)
摘要:【转自网络】C#中跨工程注释的显示.net写类方法属性注释时,在同一个工程中注释可见,跨工程就不行了。格式是标准的XML注释:/// <summary>///*********/// </summary>/// <param name="***">****</param>/// <returns>****</returns>今天知道解决办法了。一般项目跨工程都是生成DLL文件供调用,在项目属性中的“生成”选项卡勾选“XML文档文件”选项,文档名称要与类名相同。这样编译时就会在相应目录下生成XML格式文件 阅读全文
posted @ 2012-04-27 11:39 北冥子 阅读(643) 评论(0) 推荐(0)
摘要:本次所用字库为横向取模的16*16点阵字库,ucdos自带。源字库文件放到资源文件中并嵌入exe,应用时只复制exe到用户处,双击即可运行并提取字库,不用再复制ASC16及HZK16文件。可将此功能做成dll,方便别的项目调用。建立好项目后建立一个资源文件,然后添加文件,将ASC16及HZK16文件添加到资源文件中。读取资源文件中的两个字库文件到文件流:ResourceManager resource = new ResourceManager(typeof(Resource1));//About为资源文件名(没有扩展名) byte[] bitASC16 = resource.GetObjec 阅读全文
posted @ 2012-04-27 10:43 北冥子 阅读(3132) 评论(0) 推荐(0)
摘要:摘自msdn,详见http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/c7a82a6a-763e-424b-84e0-496caa9cfb4d/public partial class Form1 : Form{ // Content item for the combo box private class Item { public string Name; public int Value; public Item(string name, int value) { Name = name; Value =... 阅读全文
posted @ 2012-04-06 10:27 北冥子 阅读(6431) 评论(0) 推荐(0)