Point oldMousePoint;//记录开始移动窗口前鼠标点下箭头的位置        Point oldFormPoint;//记录开始移动窗口前窗体位置        /// <summary>        /// 窗体鼠标按下事件中初始化oldMousePoint,oldFormPoint        /// </summary>        /// <param name="sender"></param&…
在一些场合,我们往往需要使用印章来给每页文档加盖一个印章,以表示该文档经过某个部门的认证的,常规的做法就是打印文档后盖章,如果需要电子档再行扫描一下.这样的的处理,如果文档很多,且仅仅需要电子文档的就很麻烦了,需要打印再盖章再扫描,而且电子文档往往有失真的问题.本篇随笔介绍如何在在Winform程序中使用Spire.Pdf实现页面添加印章处理,解决这一痛处. 1.在PDF增加印章处理 首先我们来了解下,用Adobe Acrobat Reader 进行文档的印章处理下,看看如何实现的,后面再用软件…
原理: 一.在控件的后台代码中, 添加布尔类型的属性CanFocus 二.在控件的构造函数中, 注册Enter事件的处理方法. 并在处理方法中,根据CanFocus属性的值来决定是否可以丢失焦点, 如果可以则调用Windows消息的发送类. 三.在处理方法中,调用User32.dll类库, 发送window消息. 示例代码: //Windows消息的发送方法 //WMMessageHepler.cs using System; using System.Collections.Generic;…
原文:WPF中制作无边框窗体 众所周知,在WinForm中,如果要制作一个无边框窗体,可以将窗体的FormBorderStyle属性设置为None来完成.如果要制作成异形窗体,则需要使用图片或者使用GDI+自定义绘制. 那么,在WPF中,我们怎样制作一个无边框窗体呢? 答案是将Window的WindowStyle属性设置为None,即WindowStyle="None" .如果是非矩形的异形窗体,则需要将背景设为Null,将允许透明设置为True,也就是:Background=&quo…
1 自定义窗体类继承自QWidget 2 在构造函数中设置无边框效果 setWindowFlags(Qt::FramelessWindowHint);//无边框 setAttribute(Qt::WA_TranslucentBackground);//背景透明 3 实现鼠标拖动窗口 无边框窗口没有了标题栏,无法通过鼠标来移动窗口.可行的方法是重写窗口的鼠标按下,移动和释放等事件. 为了模拟类似拖动标题栏来移动窗口,可以规定当鼠标单击在某个特定的区域(例如顶部高度为100的矩形区域)才能移动窗口.…
问题:C#中Winform程序中如何实现多维表头. 在网上搜了很多方法,大多数方法对于我这种新手,看的都不是很懂.最后在新浪博客看到了一篇比较易懂的文章:[DataGridView二维表头与合并单元格] 大体的思路如下: 1.新建一个项目: 2.右键项目名称添加一个组件名为:HeaderUnitView.cs 3.点击[单击此处切换到代码视图]代码: using System; using System.Collections.Generic; using System.Linq; using…
前言 在之前的博客<如何在pyqt中通过调用SetWindowCompositionAttribute实现Win10亚克力效果>中,我们实现了窗口的亚克力效果,同时也用SetWindowCompositionAttribute() 给亚克力窗口加上了阴影.但是更多时候我们用不到亚克力效果,但又需要给无边框窗口加上阴影.一种方法是在当前窗口外嵌套一层窗口,然后用 QGraphicsDropShadowEffect 给里面的窗口加上阴影,还有一种就是重写 paintEvent()来绘制阴影.下面来…
在我们一些Winform程序中,往往需要具有一些特殊的权限才能操作系统文件,我们可以设置运行程序具有管理员权限或者设置运行程序的目录具有写入的权限,如果是在操作系统里面,我们可以设置运行程序以管理员身份运行,或者设置Users用户组在运行目录中具有写入权限都可以解决问题,不过如果我们想通过C#代码进行自动的处理,那么应该如何实现呢? 1.系统设置管理员权限或者目录写入权限 如果我们需要让程序以管理员身份运行,那么可以通过设置快捷方式的属性或者应用程序的属性为[以管理员身份运行此程序]即可实现,如…
本文转载自:http://www.cnblogs.com/wuhuacong/p/5645172.html 在我们一些Winform程序中,往往需要具有一些特殊的权限才能操作系统文件,我们可以设置运行程序具有管理员权限或者设置运行程序的目录具有写入的权限,如果是在操作系统里面,我们可以设置运行程序以管理员身份运行,或者设置Users用户组在运行目录中具有写入权限都可以解决问题,不过如果我们想通过C#代码进行自动的处理,那么应该如何实现呢? 1.系统设置管理员权限或者目录写入权限 如果我们需要让程…
在项目中用程序中嵌入mdf文件的方式来进行SQLServer数据库开发非常方便,用来发布开源项目等很方便,点击就可以运行,免部署,特别是在教学中用起来更加方便,老师不用先将数据库文件detach再发给学生,学生也不用将数据库文件attach.采用项目中嵌入mdf文件的方式,老师把讲课的代码发给学生,学生打开就可以运行.我在传智播客.net培训班教学中就是用的这种方式进行讲解. 在ASP.net程序中只要将mdf文件放到项目的App_Data文件夹即可,在连接字符串中使用Data Source=.…
在C#中winform程序中应用nlog日志工具,配置文件简单应用. 文件名 nlog.config,请注意修改属性为"始终复制",发布时候容易遇到不存在文件的错误提示. 通过NuGet添加对应framework版本的nlog工具,如果framework切换版本,需要卸载之后,重新安装. 简单配置的nlog.config文件. 项目实际在用:会在bin文件夹下创建logs文件夹,然后生成对应的log文件,可以用记事本打开查看日志内容. 内容如下: 样式1: <?xml versi…
 Halcon的HWindowControl控件在WinForm程序中的使用介绍(重点解决图片缩放的问题) 2016-12-04 20:11 362人阅读 评论(4) 收藏 举报  分类: Halcon 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   HWindowControl控件初步使用 最近在学习新的视觉处理工具–Halcon软件包,本人学习的主要是HDevelop.Halcon与C#混编以及Halcon与C++混编.这里再多缀一句:11版本后C++编程,包…
前言 之前写过很多关于无边框窗口并给窗口添加特效的博客,按照时间线罗列如下: 如何在pyqt中实现窗口磨砂效果 如何在pyqt中实现win10亚克力效果 如何在pyqt中通过调用SetWindowCompositionAttribute实现Win10亚克力效果 如何在pyqt中在实现无边框窗口的同时保留Windows窗口动画效果(一) 如何在pyqt中给无边框窗口添加DWM环绕阴影 如何在pyqt中在实现无边框窗口的同时保留Windows窗口动画效果(二) 里面有几篇博客用了 C++ 的 dll…
系列目录     [已更新最新开发文章,点击查看详细] WebView2组件支持在WinForm.WPF.WinUI3.Win32应用程序中集成加载Web网页功能应用.本篇主要介绍如何在WinForm程序中集成WebView2组价的详细过程. 准备工作 1.安装Visual Studio,建议安装Visual Studio 2022 . 2.安装 WebView2 运行时.下载地址:https://developer.microsoft.com/zh-cn/microsoft-edge/webv…
系列目录     [已更新最新开发文章,点击查看详细] 在我的博客<.NET混合开发解决方案7 WinForm程序中通过NuGet管理器引用集成WebView2控件>中介绍了WinForm程序中集成WebView2控件的基本实现方式,首先通过NuGet管理器引用Microsoft.Web.WebView2控件 然后安装长青版运行时环境 最后设置WebView2.Source属性为目标网址即可实现加载网页. 本文介绍使用固定版本运行时环境的方式来实现加载网页.介绍实现方式之前,先到控制面板中卸载…
在现在,绝大多数软件都向着简洁,时尚发展.就拿有道的单词本和我做的单词本来说,绝大多数用户肯定喜欢我所做的单词本(就单单界面,关于颜色搭配和布局问题,大家就不要在意了). 有道的单词本: 我所做的单词本:         很明显,两者的主要区别就是周围的边框问题.你可以对比QQ以前的版本和这几年的版本,就会发现都倾向于下面这种窗口模式.下面我们就说说如何用Qt实现无边框窗口的缩放与拖动.         对于无边框窗口的拖动其实很简单,其基本思想是,在鼠标移动前后记录鼠标的坐标,然后将窗口移动这…
大家在进行Winform开发过程中,很容易就可以完成一个窗口的布局工作,但现在的软件界面美化效果一个比一个好,很多软件都是无边框的,于是乎,你是不是也感叹:winform的带边框的窗体如此丑陋,我一定要把边框去掉!OK,去掉边框对Winform来说那绝对一件相当easy的事情,一句this.FormBorderStyle=FormBorderStyle.None就可搞定.       简单倒是简单,边框去掉了,达到了自己的要求,但同时来了很多麻烦,其中一个就是窗口无法拖动改变大小了(这个问题在网…
[引用:]http://blog.csdn.net/johnsuna/article/details/1893319   众所周知,在WinForm中,如果要制作一个无边框窗体,可以将窗体的FormBorderStyle属性设置为None来完成.如果要制作成异形窗体,则需要使用图片或者使用GDI+自定义绘制. 那么,在WPF中,我们怎样制作一个无边框窗体呢? 答案是将Window的WindowStyle属性设置为None,即WindowStyle="None" .如果是非矩形的异形窗体…
首先是我们进行窗口间的跳转,尤其注意的是winform程序里面的空间都是中线程安全的.但是注意的是如果你在一个线程中操纵另外的控件,这时候会提示你一个错误,这个错误的解决方法准备单独的在另一篇文章中来讲. 好了,这时候回到主题上吧,怎么来实现界面间的跳转吧!假设我们想要从Form1跳转到Form2,那么可以有以下的集中方法: 1. 使用form的show属性(注:show弹出来的是普通无模式窗体,与下个要讲的ShowDialog是有区别的) Form2 frm=new Form2(); frm.…
转载:http://www.cnblogs.com/techmango/archive/2012/03/31/2427523.html 第一种,利用windows的消息机制来实现: 首先﹐.定义鼠標左鍵按下時的Message标识﹔其次﹐在Form1_MouseDown方法﹐讓操作系統誤以為是按下标题栏. 1.定义鼠標左鍵按下時的Message标识 private const int WM_NCLBUTTONDOWN = 0XA1; //.定义鼠標左鍵按下 ; 2.讓操作系統誤以為是按下标题栏 p…
控件数组是VB提供的一个优秀的设计解决方案,它能很方便快捷的处理大批同类控件的响应和时间处理,但不知为什么在C#中这个优秀特性没有传承下来,甚为可惜,本文将要探讨就是如何在C# WinForm程序实现它.首先请看界面 在上面的界面中,本人想实现一个42个元素的Button数组来实现一个日历的功能,上面显示出了一部分. 其中采用了网格布局来放置这些按钮.手工创建为全部按钮后,在窗体类中代码中定义成员变量控件数组: private Button[] btns;然后在构造函数中初始化: btns =…
转:http://www.cnblogs.com/jaxu/archive/2011/08/04/2127365.html 我们见过Excel中的数据过滤功能,可以通过点击表头上的下拉列表来实现数据的过滤,这个功能很实用,省去了我们需要在程序中单独设计数据的查询过滤模块,功能直接依赖于数据绑定控件DataGridView.先来看看Excel中的数据过滤功能. 要想在DataGridView中实现类似于Excel的这种功能其实也并非难事.来看看msdn上的一篇文章,上面有详细的介绍,不过目前只有全…
WinForm程序开发中,在开发模式下对于异常的处理一般都是通过调试的方式来查找异常发生的未知与原因. 下面以“除数为0”的情况来具体说明. Button按钮事件如下: private void button1_Click(object sender,EventArgs e) { ; ; try { decimal result = numA / numB; } catch(Exception ex) { throw ex; } } 编译后运行程序,点击按钮,抛出异常 上图中虽然提示出“尝试除以…
BIMFACE二次开发系列目录     [已更新最新开发文章,点击查看详细] 在我的博客<C#开发BIMFACE系列52 CS客户端集成BIMFACE应用的技术方案>中介绍了多种集成BIMFACE到客户端程序中的方案.最后推荐大家使用 CefSharp组件与WebView2组件.本篇文章介绍使用CefSharp组件如何集成BIMFACE到客户端程序中. 一.CefSharp 简介 CefSharp是一个围绕Chromium Embedded Framework(CEF)的轻量级.NET包装器.…
目标:想在WinForm程序之间传递参数.以便子进程作出相应的处理. 一种错误的方法 父进程的主程序: ProcessStartInfo psi = new ProcessStartInfo(); psi.FileName = "ProcessChild.exe"; psi.Arguments = txtArgs.Text; Process.Start(psi);//主要问题在这里 子进程的主程序: txtArgs.Text = Process.GetCurrentProcess().…
https://www.cnblogs.com/cnxkey/articles/5394378.html 最近在自学Unity3D,打算使用这个时髦.流行.强大的游戏引擎开发一个三维业务展示系统,不过发现游戏的UI和业务系统的UI还是有一定的差别,很多的用户还是比较习惯WinForm或者WPF中的UI形式,于是在网上搜了一下WinForm和Unity3D如何集成,结果不是非常令人满意,绝大多数的回答是“No Way”,也有人给出了使用WebBrowser控件的形式,说实话这种还算是比较靠谱的,以…
如何让chart图进行刷新并且根据数值重新绘制 首先初始化一个chart chart1.Titles.Add("柱状图数据分析"); chart1.ChartAreas[].AxisX.Title = "时间(月)"; chart1.ChartAreas[].AxisY.Title = "单位(元)"; //chart1 Series series = chart1.Series["Series1"]; series.Lege…
效果如下图 原生的如下图(原生的用在自己的app上面太丑了,并且还带边框,所以重写了左上角的三个功能键) 1.首先了解一下nw底下的package.json 文件 { "name": "nw-quick-start-demo", //(字符串)包的名字,必须为独一无二的,可由字母,数字,下划线组成,不能有空格.( "version": "0.0.1", "main": "app/test/dist…
原文:Using Both Shared and View-Specific Code in an Ext JS 6 Universal App 在本文,在展示如何编写Ext JS 6通用应用程序代码以使控制器和视图模型能适用于特定视图又是共享的. 想了解更多有关Ext JS 6的信息吗?请报名参加培训班吧. 本文的重点是通用应用程序,而不是只能用于纯classic或纯Modern的应用程序.特别是,app文件夹在通用应用程序中具有独特的用途. 背景 你可能已经听说过这个令人激动的消息,Ext…
有时需要把一个子窗口内嵌进入父窗口当中. 我们可以这样做 1.新建一个QWidget 或者QDialog的子类 ClassA(父类为ClassB) 2.在新建类的构造函数中添加设置窗口属性 setWindowFlags(Qt::CustomizeWindowHint|Qt::FramelessWindowHint); 关闭默认的窗口标题提示以及没有边框的窗口. 3.在父窗口中调用. ClassA *A; A = new ClassA(this); A->show(); 在要显示的地方show就行…