随笔分类 -  WinForm

摘要:下载并引入两个dll文件 NPinyin.dll 和 ChnCharInfo.dll 其实这两个dll 任何一个都可以实现汉字转拼音,然而 NPinyin.dll 收录的汉字并不全,但是很人性化,能识别一些常用的汉字。ChnCharInfo.dll 是微软的很全但是不人性化。另外本套代码外有一个自己 阅读全文
posted @ 2019-01-08 15:54 左正 阅读(1768) 评论(0) 推荐(0) 编辑
摘要:设置winform属性:TopMost:true即可 阅读全文
posted @ 2019-01-02 13:51 左正 阅读(1038) 评论(0) 推荐(0) 编辑
摘要:以下方法我已经在自己电脑上验证通过,其他电脑并未测试,请广大读者自行验证并反馈,如果有更好的方法请指教。 在winform中如果使用这种方法弹出网页,例如这样 或者另外如果winform中嵌入了一个webbrowser控件,加载了一个网页,例如这样 网页中有个超链接,例如这样 那么点击这个超链接会自 阅读全文
posted @ 2018-12-26 15:09 左正 阅读(536) 评论(0) 推荐(0) 编辑
摘要:在使用datagridview控件时,默认按回车是跳转到下一行的当前列的,要想让按回车跳转到同一行的下一列该怎么做呢? 百度搜索了一下,大都是使用该控件的key_down事件和CellEndEdit进行处理,我都试验了一下,全都不行,不能达到预期的效果,而且使原来的方向键的功能也搞乱了。 找了半天, 阅读全文
posted @ 2018-12-24 17:21 左正 阅读(1362) 评论(0) 推荐(0) 编辑
摘要:在C/S架构中,给DataGridView的表头添加CheckBox控件: 添加类: /// <summary> /// <summary> /// 给DataGridView添加全选 /// 给DataGridView添加全选 /// </summary> /// </summary> publi 阅读全文
posted @ 2018-09-29 10:30 左正 阅读(2743) 评论(0) 推荐(0) 编辑
摘要:开发winform中,平时经常用到数据列表,我们大多选用datagridview,但是此控件本身没有排序的功能。参阅网上资料。留下标记,以后备用。 datagridview的数据显示一般是通过数据绑定来实现, 即:this.datagridview.DataSource=this.bindingSr 阅读全文
posted @ 2018-08-20 19:21 左正 阅读(2414) 评论(0) 推荐(0) 编辑
摘要:有很多种方法,这里介绍三种: A: 控件的RowStateChanged事件中添加,RowStateChanged事件是在行的状态更改(例如,失去或获得输入焦点)时发生的事件: B: 使用控件的RowPostPaint事件,RowPostPaint事件是在绘制 System.Windows.Form 阅读全文
posted @ 2018-08-17 15:09 左正 阅读(985) 评论(0) 推荐(0) 编辑
摘要:string path1 = @"d:\log.txt"; //打开D盘下的log.txt文件 System.Diagnostics.Process.Start(path1); string path2 = @"d:\test"; //调用资源管理器,打开D盘下的test文件夹 System.Dia 阅读全文
posted @ 2018-08-13 12:16 左正 阅读(5970) 评论(0) 推荐(0) 编辑
摘要:1.System.Windows.Forms.SendKeys 组合键:Ctrl = ^ 、Shift = + 、Alt = % 模拟按键:A 模拟组合键:CTRL + A SendKeys.Send // 异步模拟按键(不阻塞UI) SendKeys.SendWait // 同步模拟按键(会阻塞U 阅读全文
posted @ 2018-08-13 11:32 左正 阅读(11077) 评论(0) 推荐(0) 编辑
摘要:模拟键盘输入就是使用以下2个语法实现的. SendKeys.Send(string keys); //模拟汉字(文本)输入SendKeys.SendWait(string keys); //模拟按键输入先了解一下2个语法的用法吧! 稍后贴出代码看看大家能不能看懂哦/... (1)每个按键由一个或多个 阅读全文
posted @ 2018-08-07 14:37 左正 阅读(1621) 评论(0) 推荐(0) 编辑
摘要:1.准备工作 在进行串口连接通讯前,必须保证你当前操作电脑上有可用且闲置的串口。因为一般的电脑上只有一个或者两个串口,如COM1或COM2,但大多数情况下,这些串口可能会被其他的程序或者应用所占用,所以此时我们可以借助工具,在我们的电脑上建立虚拟串口。 先下载一个叫Virtual Serial Po 阅读全文
posted @ 2018-07-30 18:28 左正 阅读(11972) 评论(1) 推荐(1) 编辑
摘要:c# SerialPort使用时出现“已关闭 Safe handle”的错误我在开发SerialPort程序时出现了一个问题,在一段特殊的扫描代码的时候会出现“已关闭 Safe handle”的错误,很疑惑。我是通过线程对串口进行扫描的,原本我以为handle是指的线程,于是代码跟踪了半天,但也没发 阅读全文
posted @ 2018-07-30 17:36 左正 阅读(3386) 评论(0) 推荐(0) 编辑
摘要:一、监听USB设备的插入和弹出 当USB设备插入或者弹出时,Windows会产生一条全局消息:WM_DEVICECHANGE 我们需要做的是,获得这条消息的wParam参数,如果为DBT_DEVICEARRIVAL则表示有设备插入并可用, 如果是DBT_DEVICEREMOVECOMPLETE则表示 阅读全文
posted @ 2018-07-27 12:09 左正 阅读(1709) 评论(0) 推荐(0) 编辑
摘要:1、首先介绍下基本控件(拖控件大家都会,我就不一一介绍了),看下图; 2、添加MSHTML引用,步骤如下: 解决方案—右键“引用”—​添加引用—在.NET下找到Microsoft.mshtml组件—点击确定; 3、编写代码,双击button1​按钮添加事件;(注意在引用类中加上using mshtm 阅读全文
posted @ 2018-07-26 17:02 左正 阅读(309) 评论(0) 推荐(0) 编辑
摘要:在.net中使用sqlite数据库需要引用SQLite.Interop.dll引用,一帮添加两文件夹就可以了64的和32位的里面分别包含了SQLite.Interop.dll测试里也加上但是有时虽然已经添加了引用还是出现“无法加载 DLL“SQLite.Interop.dll”,找不到指定的模块”的 阅读全文
posted @ 2018-07-19 18:09 左正 阅读(9833) 评论(0) 推荐(0) 编辑
摘要:创建SerialPortFun类 创建数据接收 阅读全文
posted @ 2018-07-14 12:23 左正 阅读(389) 评论(0) 推荐(0) 编辑
摘要:函数功能:该函数获得一个顶层窗口的句柄,该窗口的类名和窗口名与给定的字符串相匹配。这个函数不查找子窗口。在查找时不区分大小写。 函数型:HWND FindWindow(LPCTSTR IpClassName,LPCTSTR IpWindowName); 参数: IpClassName :指向一个指定 阅读全文
posted @ 2018-07-13 11:06 左正 阅读(17458) 评论(0) 推荐(0) 编辑
摘要:在多线程程序中,新创建的线程不能访问UI线程创建的窗口控件,如果需要访问窗口中的控件,有以下解决办法 1.可以在窗口构造函数中将CheckForIllegalCrossThreadCalls设置为 false 2.使用委托调用 声明委托: 使用委托在多线程中执行: 这就是多线程界面元素操作的2种解决 阅读全文
posted @ 2018-07-11 11:50 左正 阅读(156) 评论(0) 推荐(0) 编辑
摘要:1.获取frame的document HtmlDocument htmlDoc = webBrowser1.Document; htmlDoc = webBrowser1.Document.Window.Frames["frmRpt"].Document; "frmRpt"为iframe的name; 阅读全文
posted @ 2018-07-09 11:52 左正 阅读(1469) 评论(0) 推荐(0) 编辑
摘要:引言 WebBrowser控件的DocumentCompleted事件一般就被认定为是在页面完全加载完毕后产生,而注释中也是这么写的: 但事实却并非如此。 首先它不一定会在完全加载完毕时才触发,有时就会在加载过程中就会触发。 其次按照“完全加载完毕后”来理解,会认为通常一次页面跳转只会引发一次该事件 阅读全文
posted @ 2018-07-09 11:17 左正 阅读(1743) 评论(1) 推荐(0) 编辑