窗口刷新一次的过程中,每一个图元的重绘都会立即显示到窗口,因此整个窗口中,　一般都是处理WM_NCPAINT消息来自绘非客户区,但是有些程序员说我WM_NCPAINT后第一次运行了正确,但是当我点其他窗口时这个又变回去了。主要是因为还需要处理窗口激活和非激活的消息!因为WINDOWS会在这两个消息中用系统默认的背景来重画非客户区。下面来看下当一个窗口从激活到非激活状态接受了哪几个消息:SPY++后发现,主要有3个:WM_NCACTVIE　WM_ACTIVE　WM_　1:ControlBox设置False,然后标题为""的时候标题就不显示了2:把窗体设置为无边的窗体　FormBoderStyle　设为　None 　(在Mdi中,关闭按钮会还在)3:通过设置窗体的Region只显示除了标题和边框以外的部分.　![图片说明](https://img-ask.csdn.net/upload/201711/23/1511434372_198728.png)上边的图片是简单代码![图片说明](https://img-ask.csdn.net/upload/201711/23/1511434419_378619.png)这个图是界面我想问大家就是我想让　XX　ToolStripMenuItem　click以后frm.show　,同时XX　ToolMenu.enabled=false,关闭掉窗体以后让XX　ToolStripMenuItem.enabled=true　怎么实现这个操作呢,谢谢大家了如果可以实现批量操作,该怎么做呢,子窗体很多,是否可以写一个方法进行操做...thanks(我的想法是不是设置一个if语句就完成了呢,但是我不会写)　C#有没有设置类似这样的,标题也会和下面的背景一样。难道只能设置无关闭,最小化之类的了么,然后自己做最小化和关闭的　c#　winform最小化恢复后就变这样了,那些黑块都是按钮、文本框等基本控件,麻烦大家指点一下啊　本文转载自:http://www.cnblogs.com/encoding/p/5603080.html按照惯例,先来几张样例图(注:为了展示窗口阴影效果,截图范围向外扩展了些,各位凭想象吧)。还要来个序 　其实,很多年没写过Winform了,前端时间在重构我们公司自己的呼叫中心系统,突然就觉得客户端好丑好丑,对于我这种强迫症晚期患者来说,界面不好看都不知道怎么写代码的,简直就是...　winform如何自定义界面的标题栏??　 　如果希望隐藏窗体的标题栏只需要简单的把窗体的ControlBox属性设置为false,然后清空窗体的Text属性就行了。 　RT,我想要达到的目标就是,窗体能覆盖整个桌面,但是不能遮盖系统的任务栏。　现在我把FORMBOARDSTYLE=NONE,WINDOWSTATE=MAXIMIZED后,虽然覆盖了整个桌面,　但是连系　///　///　全屏按钮　private　void　button1_Click(object　sender,　EventArgs　e)　{　if　(this.FormBorderStyle　==　FormBorderStyle.None)//全屏　设置窗体的FormBorderStyle为None不过要自己加上一些相应的操作代码了,不然窗口是不能进行拖动关闭之类的　#region　实现点击移动　internal　static　int　WM_NCHITTEST　=　0x84;　internal　static　IntPtr　HTCLIENT　=　(IntPtr)0x1;　internal　自定义winform　窗口标题栏　主要代码　public　partial　class　ZForm　:　Form　{　private　bool　moving　=　false;　private　Point　using　System.Runtime.InteropServices; 　public　partial　class　frmMain　:　Form DllImport("User32.dll"private　static　extern　IntPtr　GetWindowDC(IntPtr　hwnd)DllImp　在做拖动小窗口程序时,遇到一个问题,怎么样对标题栏进行绘制,弄了半天才弄出来。和VC中原理差不多,但在.net下需要将API中的HDC通过Graphics.FromHdc()转换为System.Drawing.Graphics 　程序运行结果如下:　 　代码如下:　///　&lt;summary&gt;对窗口的标题栏进行重绘和设置　我想请教2种路线:一种是重绘已有的标题栏,第二种是去掉标题栏然后自己画,对于第二种,因为我做了个菜单在对话框里面,所以如果要自己画一个标题栏的话,那就要移动那个菜单的位置了,不清楚是怎么搞的。。。　一、问题描述　设置ownerdraw=ture然后在drawcolumnheader事件的处理程序中的对header进行了重绘,改变其背景色。　运行时发现listview表里的数据没了,后来发现实际上　Visual+C#重绘标题栏　京华志&精华志出品　希望大家互相学习,互相进步　支持CSDN　支持微软　主要包括C#　ASP.NET　SQLDBA　源码　毕业设计　开题报告　答辩PPT等