不让拖动的标题栏, 双击标题栏无反应
2005-10-05 22:15
826 查看
1using System;
2using System.Windows.Forms;
3
4public class Test : Form
5{
6 Test()
7 {
8 Text = "不让拖动的标题栏, 双击标题栏无反应";
9 FormBorderStyle = FormBorderStyle.FixedDialog;
10 MaximizeBox = false;
11 MinimizeBox = false;
12 }
13
14 protected override void WndProc(ref Message m)
15 {
16 base.WndProc(ref m);
17 if(m.Msg == 0x84 && m.Result == (IntPtr)2) // 不让拖动标题栏
18 {
19 m.Result = (IntPtr)1;
20 }
21 if (m.Msg == 0xA3) // 双击标题栏无反应
22 {
23 m.WParam = System.IntPtr.Zero;
24 }
25 }
26
27 static void Main()
28 {
29 Application.Run(new Test());
30 }
31}从CSDN论坛上看来的,遗憾的是还可以在标题栏上点右键来移动窗口,应该也是可以禁止的,但我对WndProc不熟悉,不知道该怎么实现。
2using System.Windows.Forms;
3
4public class Test : Form
5{
6 Test()
7 {
8 Text = "不让拖动的标题栏, 双击标题栏无反应";
9 FormBorderStyle = FormBorderStyle.FixedDialog;
10 MaximizeBox = false;
11 MinimizeBox = false;
12 }
13
14 protected override void WndProc(ref Message m)
15 {
16 base.WndProc(ref m);
17 if(m.Msg == 0x84 && m.Result == (IntPtr)2) // 不让拖动标题栏
18 {
19 m.Result = (IntPtr)1;
20 }
21 if (m.Msg == 0xA3) // 双击标题栏无反应
22 {
23 m.WParam = System.IntPtr.Zero;
24 }
25 }
26
27 static void Main()
28 {
29 Application.Run(new Test());
30 }
31}从CSDN论坛上看来的,遗憾的是还可以在标题栏上点右键来移动窗口,应该也是可以禁止的,但我对WndProc不熟悉,不知道该怎么实现。
相关文章推荐
- 不让拖动的标题栏, 双击标题栏无反应
- C#禁止拖动的标题栏, 双击标题栏无反应
- 如何禁止双击标题栏不改变窗口的大小和拖动标题栏窗口不移动的问题
- QT自定义窗口标题栏实现拖动双击放大缩小
- c#禁止通过拖动,双击标题栏改变窗体大小
- WM_SYSCOMMAND包括很多功能,比如:拖动左边框、拖动标题栏、滚动条滚动、点击最小化、双击标题栏——Delphi 通过事件代替了大部分常用的消息,所以Delphi 简单、易用、高效
- [Win32]只允许最大化最小化窗口,禁止双击标题栏、拖动窗体、点击复原按钮来改变窗口大小
- C#实现WinForm禁止最大化、最小化、双击标题栏、双击图标等操作的方法
- java jar文件为什么双击没反应
- windows xp 环境下 Oracle8i 双击安装文件无反应的解决办法
- MFC对话框不响应标题栏双击
- 同事反应说双击无法打开邮件,试着建立一份新的profile情况依旧
- Java程序中取消窗口标题栏以及边框,并使窗口可以相应鼠标事件,被鼠标拖动;设置JFrame背景色
- 如何模拟一个象窗体一样的控件(标题栏、焦点、拖动、
- 禁止双击、拖动listctrl列头
- C# WinForm 禁止最大化、最小化、双击标题栏、双击图标等操作
- 鼠标点击非标题栏区拖动MFC对话框(OnNcHitTest函数实现)
- 普通窗口非标题栏拖动方法
- iOS开发笔记--iphone练习之手势识别(双击、捏、旋转、拖动、划动、长按)UITapGestureRecognize
- 不用标题栏拖动窗口最简单的方法