如何限制鼠标双击,窗体Form最大化? 在做Form时,取消了最大化按钮的显示,但在运行时,如果双击窗体的标题,还是会造成窗体最大化。请教各位大虾,如何限制鼠标双击,或者屏蔽掉鼠标双击也行。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Form顶层的那标题栏都隐藏了行不行 设置窗体的 frombroderstyle 属性----------------------- CSDN 论坛助手 http://china-csdn.cn 把窗体的Locked 属性设置为false; this.MaximizeBox = false; this.FormBorderStyle = FormBorderStyle.FixedSingle; 还有一个办法就是把窗体的最大高度和宽度设置为当前大小。this.MaximizeBox=false; 汗楼上的。。窗体的那个Locked是设计器属性可以把窗体的FormBorderStyle设为Fixed类型的最狠的就是直接把蓝条给屏蔽掉,方法是不要写窗体的Text属性,然后把ControlBox设为false如果还是有就把最大。最小全部false protected override void WndProc(ref Message m){ if (m.Msg == 0xa3) { return; } base.WndProc(ref m);} 这样就可以了this.MaximizeBox = false;this.FormBorderStyle = FormBorderStyle.FixedSingle; hbxtlhx(平民百姓-自已动手,丰衣足食) 能说说你的这种方法和“this.MaximizeBox = false;this.FormBorderStyle = FormBorderStyle.FixedSingle;”相比的优点吗? 我是个初学者,请多指教 不好意思,各位,以上方法都不能达到效果呀,双击标题栏还是可以最大化的。To hbxtlhx(平民百姓-自已动手,丰衣足食) :你能把方法说得更详细一些吗?我搜索其它资料也是说屏蔽掉事件,和你的应该是类似的。 把窗体的Locked属性设为true,MaximizeBox属性设为False,MaximumSize和MinimumSize属性设为和Size属性一样的值。这样应该差不多了吧。你试一下。 hbxtlhx(平民百姓-自已动手,丰衣足食) 的方法屏蔽了所有的双击事件如果form内有其它地方用到双击的,也不起作用 怎么我在vs2005下c#做的form,关闭了maxmizebox后,双击没有最大化? hbxtlhx(平民百姓-自已动手,丰衣足食) ( ) 信誉:112 Blog 加为好友 2007-5-29 18:11:10 得分: 0 protected override void WndProc(ref Message m){if (m.Msg == 0xa3){return;}base.WndProc(ref m);} API消息 哎 ~maxizebox =false 后我的双击也没窗体最大化啊 .... this.MaximumSize = this.Size; 这样就可以了this.MaximizeBox = false;this.FormBorderStyle = FormBorderStyle.FixedSingle; protected override void WndProc(ref Message m) {public const int HTCAPTION = 2 ; if(m.WParam.ToInt32()==HTCAPTION)//说明鼠标在标题栏 { if(m.Msg==0xA3)//鼠标双击标题栏时发送的消息 { return; } return; } base.WndProc(ref m); } 2005应该不会有这个问题,我的设成this.MaximizeBox = false;就不可以最大化了。this.FormBorderStyle 就用的默认属性sizable 使用如下的代码:protected override void WndProc(ref Message m){ if (m.Msg == 0xa3) { return; } base.WndProc(ref m);}这样是为了避免窗口处理系统的WM_NCLBUTTONDBLCLK消息,默认情况下窗口接收到这个消息后会使窗口最大化,所以思路就是当发生这个消息的时候不让窗口处理就是了,也就是说当有这个消息的时候不调用base.WndProc方法,这样窗口就不会收到双击标题的消息,也就不会因双击而最大化了.但这并不是说窗体不能最大化,通过其它的方法或消息,还是可以让窗体最大化的.要想让窗体不能最大化,可以把最大化的控件False掉. this.MaximizeBox = false;this.FormBorderStyle = FormBorderStyle.FixedSingle; 问题已经解决。主要是采用的MDI窗体有问题,谢谢各位捧场。 问题没说清楚我汗.不是MDI时,9楼的方法很好. 学ASP。net的“被”winform去了,以后会怎样。 用C#保存网页问题 DataGridView 绑定多个数据源 WinForm的DataGrid里,如何得到已绑定的数据里的某行某列的值? 新闻发布系统(增删改页面)明天交作业 大侠帮忙 求助,初涉XML,小问题 在C#的web应用程序连接数据库的问题 看书看到配件、属性信息、元数据等概念感觉特别迷茫,求助。。。 急求___C#中怎样得到动态当前系统时间?? 请问怎样给DataGrid添加一个空行? C# winform中如何实现图片的放大缩小 求助:c#数组赋值
CSDN 论坛助手
http://china-csdn.cn
this.FormBorderStyle = FormBorderStyle.FixedSingle;
this.MaximizeBox=false;
窗体的那个Locked是设计器属性
可以把窗体的FormBorderStyle设为Fixed类型的
最狠的就是直接把蓝条给屏蔽掉,方法是不要写窗体的Text属性,然后把ControlBox设为false
如果还是有就把最大。最小全部false
{
if (m.Msg == 0xa3)
{
return;
}
base.WndProc(ref m);
}
this.MaximizeBox = false;
this.FormBorderStyle = FormBorderStyle.FixedSingle;
“
this.MaximizeBox = false;
this.FormBorderStyle = FormBorderStyle.FixedSingle;”
相比的优点吗? 我是个初学者,请多指教
To hbxtlhx(平民百姓-自已动手,丰衣足食) :你能把方法说得更详细一些吗?我搜索其它资料也是说屏蔽掉事件,和你的应该是类似的。
如果form内有其它地方用到双击的,也不起作用
protected override void WndProc(ref Message m)
{
if (m.Msg == 0xa3)
{
return;
}
base.WndProc(ref m);
}
API消息
this.MaximizeBox = false;
this.FormBorderStyle = FormBorderStyle.FixedSingle;
{
public const int HTCAPTION = 2 ;
if(m.WParam.ToInt32()==HTCAPTION)//说明鼠标在标题栏
{
if(m.Msg==0xA3)//鼠标双击标题栏时发送的消息
{
return;
}
return;
}
base.WndProc(ref m);
}
protected override void WndProc(ref Message m)
{
if (m.Msg == 0xa3)
{
return;
}
base.WndProc(ref m);
}
这样是为了避免窗口处理系统的WM_NCLBUTTONDBLCLK消息,
默认情况下窗口接收到这个消息后会使窗口最大化,
所以思路就是当发生这个消息的时候不让窗口处理就是了,也就是说当有这个消息的时候不调用base.WndProc方法,这样窗口就不会收到双击标题的消息,也就不会因双击而最大化了.但这并不是说窗体不能最大化,通过其它的方法或消息,还是可以让窗体最大化的.
要想让窗体不能最大化,可以把最大化的控件False掉.
this.FormBorderStyle = FormBorderStyle.FixedSingle;
不是MDI时,9楼的方法很好.