`
zu14
  • 浏览: 459928 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类

C#鼠标任意拖动PictureBox等控件(使用API ReleaseCapture SendMessage)

阅读更多

今天,有个网友询问:

C#中,如何随意拖动PictureBox?

看到这个问题,我自然而然就联想到了以前的拖动无边框窗体的实现上,其实,不只是PictureBox,基本上所有的控件都可以被拖动。

实现,就是利用Windows的API函数:SendMessage 和 ReleaseCapture 即可了,代码很简单。

核心代码如下:

const uint WM_SYSCOMMAND = 0x0112;  
const uint SC_MOVE = 0xF010;
const uint HTCAPTION = 0x0002;

[DllImport("user32.dll",   EntryPoint="SendMessageA")]  
  private static extern int SendMessage(IntPtr hwnd, uint wMsg, uint wParam, uint lParam);  
  [DllImport("user32.dll")]  
  private static extern int ReleaseCapture();   

void PictureBox1MouseDown(object sender, MouseEventArgs e)
{
    ReleaseCapture();
    SendMessage((sender as Control).Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
}
    

 


分享到:
评论

相关推荐

    C#控件picturebox实现图像拖拽和缩放

    摘要:本篇文章主要介绍了C#控件PictureBox实现图像拖拽和缩放的方法,通过使用PictureBox控件的MouseDown、MouseUp和MouseMove事件来实现图像的拖拽和缩放。同时,本篇文章还提供了详细的代码示例,供读者参考。 ...

    c# 鼠标在窗体PictureBox上的十字光标定位

    在C#编程中,开发图形用户界面(GUI)应用程序时,有时我们需要实现精确的鼠标定位功能,例如在PictureBox控件中显示一个十字光标,并能够根据图像的坐标进行操作。这个功能常见于图像处理或绘图软件中,允许用户...

    C#WinForm开发:pictureBox控件背景图片局部放大

    在C# WinForm开发中,pictureBox控件是一个常用的组件,用于显示图像。当我们需要实现pictureBox控件背景图片的局部放大功能时,这通常涉及到图像处理和用户交互的设计。本篇文章将详细讲解如何实现这一功能,并展示...

    c#在pictureBox控件上绘制矩形框,鼠标点击可拖拽,伸缩

    本篇将深入探讨如何使用C#在`pictureBox`控件上绘制矩形框,并实现鼠标点击后可以拖拽和伸缩的功能。 首先,我们需要了解基本的绘图概念。在.NET Framework中,`Graphics`类提供了各种绘图方法,如`DrawRectangle()...

    C# 自定义用户控件(PictureBox)

    通过这种方式,开发者可以创建出拥有独特功能或外观的PictureBox控件,比如支持动画播放、图片缩放、拖放操作等。这不仅提高了代码的复用性,也使得应用程序更加灵活且具有专业特色。在实际开发中,自定义用户控件的...

    C#winform任意旋转pictureBox图像Demo

    pictureBox是Windows Forms提供的一种用于显示图片的控件,它可以显示BMP、JPEG、GIF、PNG等多种格式的图像。在我们的项目中,我们将利用pictureBox来展示图像,并对其进行旋转操作。 要实现任意角度旋转,我们需要...

    C#实现动态生成picturebox控件,并在其载入不同的图片和文字

    在C#编程中,PictureBox控件是一个非常常用的组件,它用于显示图像。在某些场景下,我们可能需要根据程序运行时的需求动态生成PictureBox控件,并且加载不同的图片和文字。这个过程涉及到C#窗体应用的事件处理、控件...

    c# picturebox 图像随鼠标滚轮缩放、拖动

    在C#编程中,PictureBox控件常用于显示图像。当你想要实现图像随鼠标滚轮缩放和拖动的功能时,可以利用.NET Framework提供的事件处理机制。以下是对这一知识点的详细说明: 1. **鼠标滚轮缩放** - **MouseWheel...

    PictureBox控件以圆形显示

    本篇文章将详细探讨如何在C#中使用`PictureBox`控件实现图片的圆形显示。 首先,我们需要了解`PictureBox`控件的基本属性。`PictureBox.SizeMode`属性用于设置图片的显示方式,常见的有`StretchImage`、`AutoSize`...

    C# 自定义picturebox控件实现图片移动和滚轮缩放

    在C#编程中,自定义控件是一种常见的技术,它允许开发者扩展标准控件的功能以满足特定需求。在这个场景中,我们关注的是自定义`PictureBox`控件,目的是实现图片的移动和滚轮缩放功能。`PictureBox`是.NET Framework...

    c# picturebox控件的使用方法介绍

    c# picturebox控件的使用方法介绍。模拟常用的收藏功能。

    C#控件picturebox实现画图功能

    本文实例为大家分享了C# picturebox实现画图功能的具体代码,供大家参考,具体内容如下 在Form上添加 一个pictureBox,一个button控件 如图所示: 这样我们的绘画面板就弄好了,把pictureBox的dock属性设置为fill,...

    C# PictureBox接收截图软件截图图片,鼠标拖拽图片

    在本示例中,我们将探讨如何利用C#的PictureBox控件来接收来自截图软件(如QQ截图)的图片,并实现鼠标拖放功能。 首先,我们需要理解`PictureBox`的基本用法。`PictureBox`控件是Windows Forms的一部分,它提供了...

    OpenCV读取摄像头显示到c#winform窗体上或pictureBox控件上

    在本教程中,我们将专注于如何将OpenCV与C# WinForm应用结合,特别是如何将摄像头的实时画面显示在pictureBox控件上。 首先,你需要在项目中引入OpenCVSharp库,这是OpenCV的C#版本。可以通过NuGet包管理器安装,...

    C# WinForm实现窗体上控件自由拖动功能示例

    C# WinForm实现窗体上控件自由拖动功能示例 本文主要介绍了C# WinForm实现窗体上控件自由拖动功能,涉及WinForm控件属性及事件响应相关操作技巧。下面是对该示例的详细解释: 一、WinForm控件属性 在WinForm中,...

    C#PictureBox控件GDI绘图自定义图表控件类库

    在本案例中,我们关注的是"C#PictureBox控件GDI绘图自定义图表控件类库",这是一个利用C#的PictureBox控件和GDI+(Graphics Device Interface)进行图形绘制的库,旨在帮助开发者创建自定义的图表显示控件。...

    CShaper的Picturebox显示图片放大缩小和与Halcon控件hwindowcontrol鼠标事件放大缩小.rar

    本主题聚焦于使用C#编程语言中的PictureBox控件显示图片,并实现鼠标操作下的放大和缩小功能。同时,它也涉及到Halcon机器视觉库中的hWindowControl控件及其对应的鼠标事件来实现相同的操作。下面我们将详细探讨这些...

    VB picturebox控件的拖动事件.rar

    总之,VB PictureBox控件的拖动事件实现涉及对鼠标事件的监听和处理,通过捕获鼠标按下、移动和释放的状态,动态调整控件的位置。通过深入理解这些基本的事件处理机制,开发者可以创建出更丰富、更具有交互性的VB...

    C#用PictureBox控件实现图片切换.rar

    在C#编程环境中,PictureBox控件是一个非常常用的组件,它用于显示图像,如位图、图标或JPEG等格式的图片。本教程将详细介绍如何利用PictureBox控件实现手动切换图片的功能,这在各种用户界面设计中都非常实用,比如...

    wpf调用C#pictureBox控件生成DWG文件缩略图

    本篇文章将详细介绍如何使用WPF中的pictureBox控件结合C#来实现DWG文件的缩略图生成。 首先,我们需要了解pictureBox控件。pictureBox是WPF中用于显示图像的常用控件,可以显示多种格式的图片,如.jpg、.png等。...

Global site tag (gtag.js) - Google Analytics