Winform
马儿不吃草
怎么能活在已知中呢?
展开
-
C#bitmap图像绕中心点旋转
public static Bitmap picRotate(Bitmap bmp,int angle){ Bitmap reBmp = new Bitmap(bmp.Width,bmp.Height); Graphics g = Graphics.FromImage(reBmp); g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; g.TranslateTransform((.原创 2021-08-25 16:57:25 · 980 阅读 · 0 评论 -
C#编写的打印排版控件拖拽软件
可以添加文字控件,条形码,二维码,图片,控件添加后可以鼠标左键拖拉拽,也可以右击控件进行内容编辑,还可以输出txt内容,内容包含生成图片的代码以及生成驱动的代码,可以直接复制到代码中使用详细看功能截图:点击生成txt-图片,一键输出txt文件内容,如下图还可以一键生成txt-驱动,代码txt,如下图...原创 2021-03-12 09:51:53 · 2172 阅读 · 0 评论 -
Winform根据控件名获取指定控件
/// <summary>/// 根据指定容器和控件名字,获得控件/// </summary>/// <param name="obj">容器</param>/// <param name="strControlName">控件名字</param>/// <returns>控件</returns>private object GetControlInstance(object obj, string.原创 2020-05-28 13:45:06 · 1814 阅读 · 0 评论 -
C#BindingSource的DataSource的注意点
主要讲bindingSource1.DataSource进行绑定List数据时,如何新增刷新数据在Form_Load中先绑定数据源dgPipei.DataSource = bindingSource1;写法1,可以正常新增,数据以listpipei这个数组为准pipei pi = new pipei();pi.xuhao = 1;pi.xiaoma = "001";pi....原创 2019-11-26 15:59:32 · 1954 阅读 · 0 评论 -
C#BindingSource用法、属性、事件
1.引言BindingSource组件是数据源和控件间的一座桥,同时提供了大量的API和Event供我们使用。使用这些API我们可以将Code与各种具体类型数据源进行解耦;使用这些Event我们可以洞察数据的变化。2.简单绑定在给gridview绑定好数据源以后,建议直接操作bindingSource来做一些处理,例如添加、删除等操作(add、romove),这样操作会直接操作bindi...原创 2019-11-23 18:42:17 · 8903 阅读 · 0 评论 -
C#winform无响应,界面线程崩溃问题
1.多线程改变界面内容在Form1的方法中加入以下代码Control.CheckForIllegalCrossThreadCalls = false;2.定义委托private delegate void InvokeHandler();this.Invoke(new InvokeHandler(delegate (){ //执行代码}));或者priv...原创 2019-09-23 14:24:46 · 2385 阅读 · 0 评论 -
C#Winform自动检测版本更新,下载最新版本
解决思路:思路1:主程序打开后,先访问服务器上的版本数据接口,检查本地版本是否为最新,如果不是,则打开更新程序,关闭主程序,更新程序下载最新的主程序EXE,替换之前的EXE文件,替换完之后再打开主程序,关闭更新程序。思路2:以更新程序为打开入口,先打开更新程序,访问服务器上的版本数据接口,检查本地版本是否为最新,如果不是,则下载最新的主程序EXE,替换之前的主程序EXE文件,替换完之后再打...原创 2019-08-20 16:54:11 · 4819 阅读 · 4 评论 -
C#弹窗提示输入密码
String PM = Interaction.InputBox("请输入密码", "输入密码", "", 100, 100);if (PM != "2222"){ MessageBox.Show("请输入正确的密码谢谢!!!!!"); return;}如果需要输入的密码为加密****,则需要自定义控件,直接调用该类即可InputBox使用方法为:string...原创 2019-07-19 10:15:03 · 7647 阅读 · 9 评论 -
Winform程序只允许应用单开
该代码能实现同一个exe程序只能打开一个,不能同时打开。在Program.cs文件中的Main方法中进行写入//获取当前进程的ID int pId = Process.GetCurrentProcess().Id;bool isRun = false;foreach (Process p in Process.GetProcessesByName("TrainDemo"))//T...原创 2018-05-18 16:06:50 · 1601 阅读 · 2 评论 -
dev应用程序在其他电脑不能运行
先说一下为什么不能运行的原因:dev所需的dll文件在其他电脑上不存在,在加载应用程序的时候就会出现错误。解决方案:1.在项目的属性中的发布,点击应用程序文件。2.在应用程序中选择需要的dll,也就是项目引用的dll文件。3.然后进行发布项目即可。...原创 2018-07-02 09:48:17 · 3651 阅读 · 0 评论 -
winform解决跨线程调用windows窗口控件
private delegate void Start(int type);private void StartDele(int type){ if (this.InvokeRequired) { Start setpos = new Start(StartDele); this.Invoke(setpos, new object[] { t...原创 2018-07-08 14:11:11 · 281 阅读 · 0 评论 -
winform窗体自由拖拽控件
源码地址:https://download.csdn.net/download/horseroll/10906640实现功能:实现自由拖拽控件,按住鼠标控件拖拽时有黑框显示,松开鼠标控件位置即为黑框位置实现思路:在按住鼠标时,得到所点击控件的Size以及Location,在鼠标移动时,得到鼠标的坐标,并且在光标坐标处绘制一个与控件大小相同的黑框,松开鼠标时得到黑框的Location,并将黑...原创 2019-01-09 16:00:14 · 3835 阅读 · 0 评论 -
Cefsharp生成的项目在自己电脑上能打开,其他电脑上不行,提示找不到指定文件cefsharp.core.dll
在自己电脑上生成的项目都能打开,但是在别的电脑上打开就提示,找不到指定文件cefsharp.core.dll有两种原因一种是dll没有复制过去,复制整个文件夹的文件过去就行还有一种情况是目标计算机需要安装vcredist_x86,安装了就能打开了 下载地址: https://www.microsoft.com/zh-CN/download/details.aspx?id=4078...原创 2018-11-22 17:16:05 · 3047 阅读 · 2 评论 -
winform利用CefSharp调用google浏览器内核ChromiumWebBrowser,与JS交互
一开始用了自带的webbrowser,不支持H5,脚本会有问题,后来又用了webkitBrowser,发现有些js效果还是显示不出来,和webbrowser稍微好一点,但是还是不行,然后决定用CefSharp,用了之后效果完美。源码地址:https://download.csdn.net/download/horseroll/10801280方法一:通过Nuget程序包引入CefSharp...原创 2018-11-22 09:52:18 · 21422 阅读 · 5 评论 -
【总结】清除webbrowser cookie/session的6种方法
下面是我测试下来的6种清除webbrowser中cookie的6种方法:往下拉有详细用法//方法一:调用 wininet.dll清除cookie (推荐)SuppressWininetBehavior();//方法二:删除用户登录后的信息,这里相当于浏览器的注销功能,使用的是ie自带的功能 (推荐)HtmlDocument document = wb.Document;docu...原创 2018-11-14 11:25:21 · 1166 阅读 · 0 评论 -
winform程序打包EXE三种方式
1.利用VS自带的打包工具教程:http://www.cnblogs.com/iiwen/p/5310184.html优点:微软自带的,而且大部分人都是用的这种发布方式,具有安装步骤。更专业缺点:使用步骤比较繁琐,而且安装文件的话需要其他的配置文件,需要的文件比较多2.采用右键发布该项目优点:使用步骤很简单,只需要点发布按钮,dll文件这些都会进行处理缺点:不能自动生成文件夹,发送的话是一个压缩包...原创 2018-07-02 09:39:40 · 31960 阅读 · 3 评论 -
winform解决跨线程调用windows窗口控件
解决方法:利用委托,以RichTextBox控件为例,直接上代码private void btnopenserver_Click(object sender, EventArgs e)//点击事件{ readerCamera.OpenServer(55);//打开服务端,监听端口55 richTextBox1.AppendText("打开端口55成功");//在这里调用不会出错,在下...原创 2018-05-29 09:29:50 · 1282 阅读 · 0 评论 -
winform程序捕获全局异常,对错误信息写入日志并弹窗
使用场景:在winform程序中如果没对方法进行try catch操作,若方法内出错,则整个程序报错并退出,如下图如果程序已在客户手中,若没对错误的详细信息进行拍照,我们则不知道错误原因是什么。我们需要能捕获整个程序的错误信息,一旦程序出错,则跳到我们指定的方法中,执行错误信息的报错以及友好的错误提示(也可以不提示,直接退出程序)。实现代码如下:(代码放置位置:在Program.cs文件中的Mai...原创 2018-05-18 16:27:51 · 4399 阅读 · 0 评论