如何使面板内的鼠标拖动从窗口移开?

2024-03-26

我想启用这个 System.Windows.Forms.Panel,以便如果用户单击并拖动鼠标,则将窗口拖动到周围。

我可以这样做吗?我必须实施多个事件吗?


最适合我的解决方案是使用非托管代码,与 HatSoft 发布的答案不同,它可以为您提供平滑的窗口移动。

3 个小步骤即可在面板上拖动窗口

using System.Runtime.InteropServices;

在你的类中添加这六行

public const int WM_NCLBUTTONDOWN = 0xA1;
public const int HT_CAPTION = 0x2;

[DllImportAttribute("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
[DllImportAttribute("user32.dll")]
public static extern bool ReleaseCapture();

面板上的 MouseMove 事件应该如下所示

private void panel1_MouseMove(object sender, MouseEventArgs e)
{
   if (e.Button == MouseButtons.Left)
   {
      ReleaseCapture();
      SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
   }
}

发布有点晚了:),谁知道我们将来可能会再次需要它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使面板内的鼠标拖动从窗口移开? 的相关文章

  • WPF 中的屏幕分辨率问题?

    我将在 WPF 中使用以下代码检测分辨率 double height System Windows SystemParameters PrimaryScreenHeight double width System Windows Syste
  • 具有不同大小结构的结构数组的 malloc()

    如果每个结构都包含一个大小不同的字符串数组 那么如何正确地 malloc 一个结构数组 因此每个结构可能有不同的大小 并且不可能 realloc 结构体数量 sizeof 结构体名称 after malloc 初始大小 sizeof 结构名
  • 通过增加索引之和来生成排序组合的有效方法

    对于启发式算法 我需要一个接一个地评估特定集合的组合 直到达到停止标准 由于它们很多 目前我正在使用以下内存高效迭代器块生成它们 受到 python 的启发 itertools combinations http docs python o
  • 从多线程程序中调用 system()

    我们正在开发一个用 C 编写的多线程内存消耗应用程序 我们必须执行大量的 shellscript linux 命令 并获取返回码 读完之后article http www linuxprogrammingblog com threads a
  • SSL/TLS/HTTPS 站点在 C#/.NET WebBrowser 控件中非常慢,但在 Internet Explorer 中则很好

    背景 我正在修改自动维基浏览器 http en wikipedia org wiki Wikipedia AutoWikiBrowser使用托管在安全服务器上的 MediaWiki 站点 我允许用户通过 C 应用程序中的 WebBrowse
  • 为什么大多数平台上没有“aligned_realloc”?

    MSVC有自己的非标准函数 aligned malloc aligned realloc and aligned free C 17和C11引入了 std aligned alloc 其结果可以是de分配有free or realloc B
  • (const T v) 在 C 中从来都不是必需的,对吗?

    例如 void func const int i 在这里 const是不必要的 因为所有参数都是按值传递的 包括指针 真的吗 C 中的所有参数确实都是按值传递 这意味着无论您是否包含该参数 实际参数都不会改变const or not 然而
  • CultureInfo 的实例(来自相同的文化)根据操作系统而变化

    我有一个网站 上面写着这样的日期 CultureInfo cultureInfo CultureInfo GetCultures CultureTypes AllCultures FirstOrDefault c gt string Equ
  • 如何创建用于 QML 的通用对象模型?

    我想知道是否有任何宏或方法如何将 Qt 模型注册为 QObject 的属性 例如 我有AnimalModel http doc qt io qt 5 qtquick modelviewsdata cppmodels html qabstra
  • C++ 插件的“最适合”动态类型匹配

    我有一个几乎所有东西都是插件的架构 该架构以图形用户界面为基础 其中每个插件都由一个 表面 即用户可以通过其与插件交互的 UI 控件 表示 这些表面也是插件 每当添加新插件时 瘦主机都会自动确定哪个可用表面与其最匹配的 UI 如何在 C 中
  • 预处理后解析 C++ 源文件

    我正在尝试分析c 使用我定制的解析器的文件 写在c 在开始解析之前 我想摆脱所有 define 我希望源文件在预处理后可以编译 所以最好的方法是运行C Preprocessor在文件上 cpp myfile cpp temp cpp or
  • 默认析构函数做了多少事情

    C 类中的默认析构函数是否会自动删除代码中未显式分配的成员 例如 class C public C int arr 100 int main void C myC new C delete myC return 0 删除 myC 会自动释放
  • 分配器感知容器和propagate_on_container_swap

    The std allocator traits模板定义了一些常量 例如propagate on container copy move assign让其他容器知道它们是否应该在复制或移动操作期间复制第二个容器的分配器 我们还有propag
  • 从 R 到 C 处理列表并访问它

    我想使用从 R 获得的 C 列表 我意识到这个问题与此非常相似 使用 call 在 R 和 C 之间传递数据帧 https stackoverflow com questions 6658168 passing a data frame f
  • DataTable:通过 LINQ 或 LAMBDA 进行动态 Group By 表达式

    我有一个数据表 我想在其中对未指定数量的字段进行分组 发生这种情况的原因是用户可以选择他想要分组的字段 所以 实际上 我将选择推入列表中 在这个选择上 我必须对我的数据表进行分组 想象一下这段代码 VB 或 C 都一样 public voi
  • C++、三元运算符、std::cout

    如何使用 C 用三元运算符编写以下条件 int condition1 condition2 condition3 int double result int or double std cout lt lt condition1 resul
  • 在 Xamarin 中获取 OutOfMemoryException

    java lang OutOfMemoryError 考虑增加 JavaMaximumHeapSize Java 执行时内存不足 java exe 我的 Visualstudio Xamarin 项目出现内存不足异常 请帮助我如何解决此问题
  • 带有私有设置器的 EFCore Base 实体模型属性 - 迁移奇怪的行为

    实体模型继承的类内的私有设置器似乎会导致 EFCore 迁移出现奇怪的问题 考虑以下示例 其中有多个类 Bar and Baz 继承自Foo 跑步时Add Migration多次命令 添加 删除private修饰符 生成的模式在多个方面都是
  • C#中为线程指定特殊的cpu

    我有 2 个线程 我想告诉其中一个在第一个 cpu 上运行 第二个在第二个 cpu 上运行 例如在具有两个 cpu 的机器中 我怎样才能做到这一点 这是我的代码 UCI UCIMain new UCI Thread UCIThread ne
  • 如何使用 C# 以低分辨率形式提供高分辨率图像

    尝试使用 300dpi tif 图像在网络上显示 目前 当用户上传图像时 我正在动态创建缩略图 如果创建的页面引用宽度为 500x500px 的高分辨率图像 我可以使用相同的功能即时转换为 gif jpg 吗 将创建的 jpg 的即将分辨率

随机推荐

  • Instagram 基本显示 API 错误 - 无效范围:['basic'] 或无效的 redirect_uri

    我正在使用 Magento 2 4 1 安装了社交登录扩展 并在登录 Instagram 时出现以下错误 我正在使用混合身份验证库进行登录 error type OAuthException 代码 400 error message 无效
  • Linux Xwindow 转发上的 Visual Studio Code

    我的配置如下 OS DISTRIB ID Ubuntu DISTRIB RELEASE 14 04 DISTRIB CODENAME trusty DISTRIB DESCRIPTION Ubuntu 14 04 4 LTS NAME Ub
  • 更新 my.cnf 中的变量

    I set lower case table names 2在 my cnf 文件中 设置变量后 我重新启动了 mysql 服务器 但当我使用时 该值仍然是 0SHOW VARIABLES 我正在使用 MySQL 5 5 任何想法还需要做什
  • HTML:阻止子元素继承父元素的 [title] 属性

    问题是 当我为 wrapper 元素声明标题属性时 当光标落入 content 元素内时 也会显示工具提示 如何防止这种情况 继承 发生 div title example div div div 我只想显示工具提示between cont
  • 如何使用 gradle 任务解析 .json 文件并从中获取 json 数据?

    有没有一种方法可以在 gradle 任务的帮助下解析 xyz json 文件并获取其中的所有单独的 json 数据 例如 我想解析存储在我的资产文件夹中的 xyz json 文件中的数据并获取其中的所有值 例如 获取 类型 的值 type
  • 在CSS中创建凹角[重复]

    这个问题在这里已经有答案了 是否可以在CSS中创建这样的凹角 如果是 你会怎么做 莉亚 维鲁有一个如何执行此操作的描述 http lea verou me 2011 03 beveled corners negative border ra
  • 使用 jQuery getJSON 时 JSON Feed 返回 null

    http portlandonline com shared cfm json cfm c 27321 http portlandonline com shared cfm json cfm c 27321 它返回 null 我真的无权接触
  • 匿名委托中捕获的私有字段

    class A public event EventHandler AEvent class B private A foo private int bar public void AttachToAEvent foo AEvent del
  • 数据工厂子项修改或创建日期

    我有一个数据工厂 V2 管道 由 获取元数据 和 forEach 活动组成 用于读取文件共享 本地 上的文件列表并将其记录在数据库表中 目前 我只能读取文件名 但还想检索每个文件的修改日期和 或创建日期属性 有什么帮助吗 谢谢 Accord
  • 使用SQL计算时间序列中的时间间隔

    我有一个像这样的 MySQL 表 CREATE TABLE IF NOT EXISTS vals DT datetime NOT NULL value INT 11 NOT NULL PRIMARY KEY DT DT 是唯一的日期和时间
  • iOS 自定义字体已移位

    对于一个项目我买了一个OTF字体并将其包含到我的项目中 添加到 plist 文件等 它有效 我可以在按钮上设置字体 但标签会被替换 我添加了屏幕截图 以便您可以看到我的问题 有人知道问题出在哪里吗 系统 iPad 3 iOS 6 0 bet
  • 有什么办法可以提取底层Xaml吗?

    无论如何 是否可以从控件中提取底层 xaml IE 我有一个名为 fooBox 的文本框 我可以在运行时从文本框获取代表文本框的 xaml 吗 这向您展示了完整的生命周期 从控件到 XAML 再到控件 如你看到的 string s Xaml
  • 有保证的方法可以在运行时获取成员字段的源顺序吗?

    我正在寻找一种按源顺序检索 在运行时 类的字段的方法 以便我可以执行自己的 初始化处理 该处理基于声明的顺序 我知道 Javadoc 用于Class getDeclaredFields 明确指出不保证订单 SO 上的一些答案指向Javass
  • iOS7中选择单元格时UITableView分隔线消失

    在我的 tableView 中 我在单元格之间设置了分隔线 我允许选择多个单元格 这是我设置选定单元格背景颜色的代码 UIView cellBackgroundColorView UIView alloc initWithFrame cel
  • 如何从没有 jenkinsfile 的存储库触发 Jenkins 管道构建?

    我有一个不包含詹金斯文件 https jenkins io doc book pipeline jenkinsfile 而且我无法影响存储库本身 这意味着我既不能向存储库添加也不能更改任何文件 在本例中 它是Qt repo http cod
  • ArrayAdapter 中 textview 的自定义字体

    我正在尝试更改 a 的字体TextView in my ArrayAdapter 字体chantelli antiqua ttf位于资产文件夹中 这是我的 Java 代码 listItemAdapter new ArrayAdapter
  • 按字母顺序对数组进行排序

    我有一个数组 我需要按出现次数对其元素进行排序 然后按字母顺序排序 例如 55 The 32 ASomething 32 BSomething ASomething should come before Bsomething because
  • 在iOS中以编程方式生成ppt

    为了生成 PDF 文件 我们可以使用 Core Graphics 同样 是否有任何框架 类可用于通过代码生成 ppt 幻灯片演示 文件 或者是否有任何第三方框架用于此目的 没有内置的 Apple API 我也从未听说过有这样的第三方框架
  • 将 sybase 中现有的 int 列更改为标识

    赛贝斯12 5 我有一个正在生产中的现有表 需要更改它的 PK int 列 以便自动填充 创建表时 理想情况下将 ID 列创建为标识 此 ID 列是多个其他表中的外键 因此不能删除该表并重新开始 问题是 我无法将 PK 设置为 IDENTI
  • 如何使面板内的鼠标拖动从窗口移开?

    我想启用这个 System Windows Forms Panel 以便如果用户单击并拖动鼠标 则将窗口拖动到周围 我可以这样做吗 我必须实施多个事件吗 最适合我的解决方案是使用非托管代码 与 HatSoft 发布的答案不同 它可以为您提供