窗体去掉边框后不能拖动的问题

在C# WinForm中,边框不显示就会造成窗体无法拖动的情况,把下边的代码添加上去就可以解决。

1.导入命名空间
using System.Runtime.InteropServices;
2.输入如下代码

[DllImport("user32.dll")]
public static extern bool ReleaseCapture();
[DllImport("user32.dll")]
public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);
private void pictureBox2_Click(object sender, EventArgs e)
{
    Application.Exit();
}

private void pictureBox4_Click(object sender, EventArgs e)
{
    this.WindowState = FormWindowState.Minimized;
}
在窗体的MouseDown事件中编写如下代码
private void zcmmForm_MouseDown(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Left)
    {
        ReleaseCapture(); SendMessage(Handle, 0xA1, 0x02, 0);
    }
}

时间: 2024-12-20 14:48:11

窗体去掉边框后不能拖动的问题的相关文章

C#中winform去掉边框后实现拖动功能

在winform中,当我们把窗体的属性中 FormBorderStyle 指示窗体的边框和标题栏的外观和行为的属性设置为None时,我们会发现拖动窗体的功能也随之消失,这时候我们可以使用MouseDown事件来注册拖动移动窗体的功能,利用Windows的API,实现代码如下 [DllImport("user32.dll")] public static extern bool ReleaseCapture(); [DllImport("user32.dll")] p

QT去掉边框后窗口拖放控制大小及移动窗口

作者:收割者,适用平台:QT 在一般情况下,我们编写的窗口,都有一个标准的窗口框架,这个标准框架提供了标题栏及边框,而边框可以帮助我们通过拖放来控制窗口的大小,例如,当把鼠标指针放到上边框的时候,指针鼠标发生变化,这时按下鼠标左键的同时拖动鼠标,就可以改变窗口的大小,同样,当把鼠标指针放到左边,右边,四个角上等,鼠标指针都会发生相应的变化,但是有的时候,我们不需要窗口的标准框架,这时候,我们可以对顶层窗口(top-level)设置属性Qt::FramelessWindowHint,如果还需要保留

C#之设置无边框后如何移动窗体(转)

转载:http://www.cnblogs.com/techmango/archive/2012/03/31/2427523.html 第一种,利用windows的消息机制来实现: 首先﹐.定义鼠標左鍵按下時的Message标识﹔其次﹐在Form1_MouseDown方法﹐讓操作系統誤以為是按下标题栏. 1.定义鼠標左鍵按下時的Message标识 1 private const int WM_NCLBUTTONDOWN = 0XA1; //.定义鼠標左鍵按下 2 private const in

Axure 文本框去掉边框 富文本 粘贴文字图标

在今天做原型的过程中,碰到两个问题: 1 文本框该如何去掉边框 2 富文本粘贴文字图标 第一个问题:首先是思路错了,又跑到元件上面找边框,跑到style里面去border的线,结果是不成功. 正解:属性properties里面有个 hide border属性,勾选下就ok了. 第二个问题:没想其他的,就是复制粘贴,可怎么也粘贴不上,气急败坏了,到底怎么回事了. 正解:在百度帖吧里面发现了正解,复制图标元件的正确姿势,双击确认是复制了.原话是这样的: 还有复制的时候是双击元件,像复制文字行一样选择

动态调整对话框属性(去掉标题栏,去掉边框,修改类似成Border:NONE样式)(调用ModifyStyle和ModifyStyleEx,然后调用SetWindowPos重新显示)

[cpp] view plain copy // 动态修改对话框属性,去掉对话框标题栏,设置Border为NONE属性. [cpp] view plain copy if(dlg.GetSafeHwnd()) { dlg.ModifyStyle(WS_CAPTION, 0); // 去掉标题栏 dlg.ModifyStyleEx(WS_EX_DLGMODALFRAME, 0); // 去掉边框 dlg.SetWindowPos(NULL, 0, 0, 0, 0, SWP_NOSIZE | SWP

PHP去掉转义后字符串中的反斜杠\函数stripslashes

addslashes函数主要是在字符串中添加反斜杠对特殊字符进行转义,stripslashes则是去掉转义后字符串中的反斜杠\,比如当你提交一段 json数据到PHP端的时候可能会遇到json字符串中有\导致json_decode函数无法将json数据转换成数组的情况,这时你就需要 stripslashes函数. 该函数用于清理从数据库或 HTML 表单中取回的数据.

delphi webbrowser 去掉边框

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><!--去掉边框--> 默认WebBrowser是没有边框的,那么其实边框并不是 WebBrowser 产生的,而是 WebBrowser 中载入的 HTML 产生的. 加上样式 body{border:none;} 或者你想让body有什么样式,这是你css的实现过程了.

iframe去掉边框

<iframe src="System/Module_Query.aspx" noresize="noresize" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0" width="100%" height="100%"></iframe> i

C#窗体工程建立后如何修改工程文件名和命名空间

今天写了个C#的小测试程序,一开始使用的默认命名WindowsFormsApplication2,写完后觉得名字不好看,于是想改个名字,但是试了一下,想完整的改名还挺复杂,不但要改解决方案名,项目名,还要改命名空间名和文件夹名.顺序如下: 1. VS2010上解决方案名上右键->重命名 2. 项目名上右键->重命名 以上两步都很明显的. 改完后效果如下, 4. 接下来要改名代码中的名称空间名,任意打开一个程序文件,找到命名空间名,改掉,会出现报错,点击那个小红框,选择自动改名: 点击那个小红框