当前位置: 首页 > article >正文

C#自定义控件的放置与拖动

1、自定义控件

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace PartApp.Uc
{
   
    public class And:Control
    {
   
        private bool dragging = false;
        private Point dragCursorPoint;
        private Point dragFormPoint;
        public And()
        {
   
            SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
            this.MouseUp += And_MouseUp;
            this.MouseMove += And_MouseMove;
            this.MouseDown += And_MouseDown;
        }

        private void And_MouseDown(object sender, MouseEventArgs e)
        {
   
            dragging = true;
            dragCursorPoint = Cursor.Position;
            dragFormPoint = this.Location;
        }

        private void And_MouseMove(object sender, MouseEventArgs e)
        {
   
            if (dragging)
            {
   
                Point dif = Point.Subtract(Cursor.Position, new Size(dragCursorPoint));
                this.Location 

http://www.kler.cn/a/291108.html

相关文章:

  • 阿里云百炼大模型生成贪吃蛇小游戏
  • BPMN与一般的流程图区别在那里?
  • 04、Vue与Ajax
  • [python SQLAlchemy数据库操作入门]-02.交易数据实体类建立
  • Day45 动态规划part12
  • PHY6239:具有高精确度AFE的无线MCU芯片,常用在智能穿戴上
  • oh my posh随机选择主题
  • 大坝安全监测设备的工作原理
  • 如何使用 Ruby 中的 Selenium 解决 CAPTCHA
  • STM32的窗口看门狗详解及案例(基于HAL库)
  • Python知识点:如何使用Python实现语音识别
  • imap发送邮件:如何配置IMAP服务器发邮件?
  • 基础学习之——Apache Spark
  • 【项目一】基于pytest的自动化测试框架day1
  • 中锂天源卡车电瓶:绿色能源驱动未来物流
  • go常用代码
  • 数据仓库系列18:如何建立一个有效的元数据管理体系?
  • django之ForeignKey、OneToOneField 和 ManyToManyField
  • 惠中科技综合光伏清洗技术:引领绿色清洁新时代
  • 【后端开发】PHP、go语言、Java、C++、Linux开发等急招中......
  • Windows电脑获取目录及子目录结构及包含文件名的命令
  • notepad++将换行替换成空
  • JS设计模式之“神奇的魔术师” - 简单工厂模式
  • 【Python篇】PyQt5 超详细教程——由入门到精通(中篇一)
  • 栈和队列的习题详解(2):用队列实现栈
  • 注册中心技术选型