对于无标题栏的窗口,点击任务栏图标的时候,是不能像普通窗口一样最小化和还原的,如何控制点一下图标的时候就最小化或还原? 对于无标题栏的窗口,点击任务栏图标的时候,是不能像普通窗口一样最小化和还原的,如何控制点一下图标的时候就最小化或还原? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 顶啊,CSDN里就没有人能解决这个问题吗? FormBorderStyle=None就会失去最小化和复原的控制权.把Forordertyle改回正常,标题栏藏起来就行了. private void Form1_Load(object sender, EventArgs e){ this.SetBounds(this.Left, this.Top, 201, 101, BoundsSpecified.Size); //多边形顶点 Point[] points = {new Point(0, 50), new Point(0, 200), new Point(200, 200), new Point(200, 50)}; byte[] types = {(byte) System.Drawing.Drawing2D.PathPointType.Line, (byte) System.Drawing.Drawing2D.PathPointType.Line, (byte) System.Drawing.Drawing2D.PathPointType.Line, (byte) System.Drawing.Drawing2D.PathPointType.Line}; //GraphicsPath System.Drawing.Drawing2D.GraphicsPath path = new System.Drawing.Drawing2D.GraphicsPath(points, types); //改变形状(四方形) this.Region = new Region(path); }} 你反过来想就可以了,如果你的窗体有边框,但是没有标题栏,那么系统菜单还是有的如果你连边框都不用要了,那么要通过API来加系统菜单,还是可以的 我现在真的不想像你说的那样去做,感觉那样的话好像是消极的处理方法?能不能想点别的办法啊,我用了很多特效的,怕是用你的方法的话会漏洞百出,比如说我还用了窗体的滑动弹出和不规则窗体,如果处理不好,会先出来了一个不规则,再滑动,很麻烦的,我也试过,真的不行!给一个好的办法好吗?高手,我试过windows消息,不过不知道点击任务栏图标有没有确切的消息,好像没有,没查到! 把下面的代码加到你的Form里,可以达到最小化/复原的效果. protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams; cp.Style = cp.Style | 0x20000; return cp; } } 0x20000是允许最小化操作,此外还有 const int WS_EX_TOOLWINDOW = 0x80; const long WS_POPUP = 0x80000000L; const int WS_VISIBLE = 0x10000000; const int WS_SYSMENU = 0x80000; const int WS_MAXIMIZEBOX = 0x10000;.曾经有用户向MS报告过这个问题,MS说为了最优化拒绝恢复过来.FormBorderStyle=None的情况下最小化操作被屏蔽掉,恢复过来就好了.要注意的是NT,2000里FormBorderStyle=None的窗口可能不在任务栏里显示,Windows7里TaskBar发生重大改进,不知道这个还好不好使. 非常感谢10楼朋友的方法!不知在windows7下还可行否 C#中String类的构造函数是如何将char数组转换成字符串的 c# 如何生成不依赖于.net framework的应用程序 初学C# 编程的郁闷 求助四舍五入中MidpointRounding.AwayFromZero的问题!~~~~~ DataGridViewComboBoxColumn应用问题?? 如何获取其他应用程序窗口内相同类型控件的句柄? 在HTML里写服务器代码可以不可以写方法 wpf立体图形上写文字问题 关于多线程的中止 委托的匿名函数 个人觉得csdn是不是把这个编辑器在IE9下测测呀! BindingNavigator 菜单上的标准按钮的图片资源问题
把Forordertyle改回正常,标题栏藏起来就行了.
{
this.SetBounds(this.Left, this.Top, 201, 101,
BoundsSpecified.Size);
//多边形顶点
Point[] points =
{new Point(0, 50),
new Point(0, 200),
new Point(200, 200),
new Point(200, 50)};
byte[] types =
{(byte) System.Drawing.Drawing2D.PathPointType.Line,
(byte) System.Drawing.Drawing2D.PathPointType.Line,
(byte) System.Drawing.Drawing2D.PathPointType.Line,
(byte) System.Drawing.Drawing2D.PathPointType.Line};
//GraphicsPath
System.Drawing.Drawing2D.GraphicsPath path =
new System.Drawing.Drawing2D.GraphicsPath(points, types);
//改变形状(四方形)
this.Region = new Region(path); }
}
如果你连边框都不用要了,那么要通过API来加系统菜单,还是可以的
protected override CreateParams CreateParams
{
get
{ CreateParams cp = base.CreateParams;
cp.Style = cp.Style | 0x20000;
return cp;
}
}
此外还有
const int WS_EX_TOOLWINDOW = 0x80;
const long WS_POPUP = 0x80000000L;
const int WS_VISIBLE = 0x10000000;
const int WS_SYSMENU = 0x80000;
const int WS_MAXIMIZEBOX = 0x10000;
.
曾经有用户向MS报告过这个问题,MS说为了最优化拒绝恢复过来.
FormBorderStyle=None的情况下最小化操作被屏蔽掉,恢复过来就好了.
要注意的是NT,2000里FormBorderStyle=None的窗口可能不在任务栏里显示,
Windows7里TaskBar发生重大改进,不知道这个还好不好使.