C# Winform
文章平均质量分 52
lwinhong
这个作者很懒,什么都没留下…
展开
-
C# winform TreeView 屏蔽双击展开/折叠子节点
一搜索这个基本都是一样的通过事件来处理网上用事件来处理方法也贴一下吧路:1.通过点击事件,记录点击的节点信息2.通过BeforeExpand、BeforeCollapse事件来cancel掉参考这个:WinForm TreeView屏蔽双击节点展开_JaremyShort的博客-CSDN博客以上方法本人实现简单,不喜欢折腾的人就直接用它吧本人有强迫症也喜欢折腾,于是看源码,查看它是怎么通过消息来实现的,果然找到了对应的实现;我的思路是重写WndProc来拦截它。实现起来比较复原创 2021-09-25 21:02:20 · 1813 阅读 · 0 评论 -
winform show 子窗体之后,保持当前窗体的状态栏激活状态
为了提供用户体验,有需求是窗体的窗体不抢父窗体的激活状态,因为window激活、失活的时候状态栏会有明显的改变以下说的窗体都是Show的情景,不是ShowDialog1.在窗体下使用ShowWithoutActivationprotected override bool ShowWithoutActivation{ get { return true; }}这可以在show的了之后,不会使父窗体失去激活状态但是当鼠标show的窗体,主窗体还是失活了...原创 2020-05-20 09:44:41 · 1575 阅读 · 2 评论 -
winform 动态修改ClientRectangle
protected override void WndProc(ref Message m) { base.WndProc(ref m); switch (m.Msg) { case 0x0083://WM_NCCALCSIZE ...原创 2019-12-04 12:38:41 · 531 阅读 · 0 评论 -
winform 非客户区域绘制
1.截取非客户区域绘制消息2.通过消息获取 DC 和Graphics3.执行绘制protected override void WndProc(ref Message m) { base.WndProc(ref m); switch (m.Msg) { case...原创 2019-12-04 12:28:20 · 926 阅读 · 0 评论 -
winform 通过消息实现非客户端区域点击事件
protected override void WndProc(ref Message m){ base.WndProc(ref m); switch (m.Msg) { case 0xA1://WM_NCLBUTTONDOWN case 0x84://WM_NCHITTEST ...原创 2019-12-04 12:17:19 · 253 阅读 · 0 评论 -
C# sendMessage 和常用消息
C#调用SendMessage 用法函数功能:该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。该函数是应用程序和应用程序之间进行消息传递的主要手段之一。 函数原型:LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam); 参数: hW...转载 2019-12-04 11:16:32 · 1795 阅读 · 0 评论 -
自定义Winform窗体,加阴影效果
1.win32 api public class BoxShadow { public const int CS_DROPSHADOW = 0x00020000;//可用背影框 public const int WM_NCPAINT = 0x0085;//绘制 public const int WM_NCHITTEST = 0x84;...原创 2019-11-01 09:11:05 · 2213 阅读 · 0 评论 -
IMessageFilter实现鼠标键盘事件监听
public class MyMessageFilter : IMessageFilter { const int WM_LBUTTONDOWN = 0x201; /// <summary> /// The control to monitor /// </summary> publi...原创 2017-08-03 14:22:18 · 2383 阅读 · 0 评论 -
C#生成缩略图 等比例缩放
/// 获取缩略图 public static Image GetThumbnailImage(Image image, int width, int height) { if (image == null || width < 1 || height < 1) return null;转载 2015-05-13 11:25:46 · 3703 阅读 · 0 评论 -
C# 解决DrawImage绘制图片拉伸产生渐变
方法一:ImageAttributes ImgAtt = new ImageAttributes(); ;ImgAtt.SetWrapMode(System.Drawing.Drawing2D.WrapMode.TileFlipXY);m_graphics.DrawImage(image, new System.Drawing.Rectangle((...转载 2013-11-02 13:39:28 · 2878 阅读 · 1 评论