c#异形窗体遮罩效果

 c#异形窗体遮罩效果,移动,关闭,最大化,最小化,还原操作

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

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        private Point mouseOffset;                 //记录鼠标指针的坐标 
        private bool isMouseDown = false;      //记录鼠标按键是否按下
        public Form1()
        {
            this.StartPosition = FormStartPosition.CenterScreen;
           
            InitializeComponent();
        }
       

            private void Form1_Load(object sender, EventArgs e)
        {
            TransparencyKey = Color.White;
            Image BackgroundImage = Bitmap.FromFile("111.png");
            BitmapRegion BitmapRegion = new BitmapRegion();//此为生成不规则窗体和控件的类
          //  BitmapRegion.CreateControlRegion(this, new Bitmap("feichuan5.jpg"));
            BitmapRegion.CreateControlRegion(this, new Bitmap("feichuan5a.png"));
        }

        private void button_start_Click(object sender, EventArgs e)
        {
            MessageBox.Show("程序以启动");
        }

        private void button_close_Click(object sender, EventArgs e)
        {
            MessageBox.Show("程序已将关闭");
            this.Close();
        }

        private void button_max_Click(object sender, EventArgs e)
        {
            this.WindowState = FormWindowState.Maximized;
        }

        private void button_min_Click(object sender, EventArgs e)
        {
            this.WindowState = FormWindowState.Minimized;
        }

        private void button_to_default_Click(object sender, EventArgs e)
        {
            this.WindowState = FormWindowState.Normal;
        }

        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            int xOffset;
            int yOffset;

            if (e.Button == MouseButtons.Left)
            {
                xOffset = -e.X - SystemInformation.FrameBorderSize.Width;
                yOffset = -e.Y - SystemInformation.CaptionHeight -
                  SystemInformation.FrameBorderSize.Height;
                mouseOffset = new Point(xOffset, yOffset);
                isMouseDown = true;
            }
        }

        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            if (isMouseDown)
            {
                Point mousePos = Control.MousePosition;
                mousePos.Offset(mouseOffset.X, mouseOffset.Y);
                Location = mousePos;
            }
        }

        private void Form1_MouseUp(object sender, MouseEventArgs e)
        {
            //   修改鼠标状态isMouseDown的值
            //   确保只有鼠标左键按下并移动时,才移动窗体
            if (e.Button == MouseButtons.Left)
            {
                isMouseDown = false;
            }
        }
    }
}

工程代码:

待更新。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/321610.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《WebKit 技术内幕》之二: HTML 网页和结构

第二章 HTML 网页和结构 HTML网页是利用HTML语言编写的文档,HTML是半结构化的数据表现方式,它的结构特征可以归纳为:树状结构、层次结构和框结构。 1.网页构成 1.1 基本元素和树状结构 HTML网页使用HTML语言撰写的文档,发展到今…

基于MOD02/MYD02获得亮度温度再转冰温

用HEG处理MOD02/MYD02,提取里面的EV_1KM_Emissive波段,band为11和12(其实就是band 31和32)。注意这里的band和output dile type 1. 获得之后,转辐射亮度。 参考:https://www.cnblogs.com/enviidl/p/16539422.html radiance_scales,和radiance_offset这两项参数代表波段…

你好2024,OpenStreetMap 20 周岁

2004年,OpenStreetMap在英国诞生。2024年,OpenStreetMap 满 20 周岁,其愿景是创建一个免费的、可编辑的世界地图。当时,地图数据的获取往往受到限制或价格昂贵1。 经过20年的发展,该数据集合成为了最为全面的街道级别开…

通过eXtplorer+cpolar,搭建个人云存储并实现访问内网服务器数据

文章目录 1. 前言2. eXtplorer网站搭建2.1 eXtplorer下载和安装2.2 eXtplorer网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1. 前言 在数字时代,互联网传输文件已成为我们日常生活和工作的核心部分。…

消息的发送与接收

消息的发送与接收 消息的发送与接收不仅仅是在于聊天功能的实现。其实还有很多种情况也算"消息的发送与接收"。而且我们还可以通过多种方法去实现。我们可以基于实际情况来选择。 WebSocket实现 node做后端。找了好多,前端页面总是用到了jQuery&#x…

SK入门第一篇(设置baseurl)

问题说明 之前在一些公众号就看到了关于SK的开发文章,然后说自己也试试看。然后就遇到一个关于如何设置baseurl的问题。啥意思呢?同样是SK,用python语言的话,OpenAI的baseurl是可以直接设置的,但是在C#下没法直接设置…

爬虫-6-数据提取-beautifulsoup4

#声明:本文仅供学习。 (●—●)

JVM:双亲委派机制类加载器

JVM:双亲委派机制 1. 例子2. 类加载器总结3. 类加载过程4. 双亲委派模型的执行流程:5. 双亲委派模型的好处 1. 例子 Java运行时环境有一个java.lang包,里面有一个ClassLoader类 我们自定义一个String类在java.lang包下,下面的…

BP神经网络原理

1.基本概念 1.1 简介 BP神经网络(Back Propagation Neural Network)是一种基于误差反向传播算法(Back Propagation Algorithm)的人工神经网络,也是应用最广泛的神经网络之一。它可以用来解决分类、回归、模式识别、数据…

imgaug库指南(23):从入门到精通的【图像增强】之旅

引言 在深度学习和计算机视觉的世界里,数据是模型训练的基石,其质量与数量直接影响着模型的性能。然而,获取大量高质量的标注数据往往需要耗费大量的时间和资源。正因如此,数据增强技术应运而生,成为了解决这一问题的…

抖音矩阵云混剪系统源码多平台多账号一站式管理(免授权版)

抖音矩阵云混剪系统源码 短视频矩阵营销系统V2.2.1(免授权版) 中网智达矩阵营销系统多平台多账号一站式管理,一键发布作品。智能标题,关键词优化,排名查询,混剪生成原创视频,账号分组,意向客户自动采集,智能回复,多账号评论聚合回复,免切换,免登陆发布….助力您在…

Altium开源硬件

1、FMC ADC 250M 16B 4CHA 2、VME FMC Carrier VFC 3、armadillo 4、FMC DEL 1ns 4cha 5、FMC Carrier tester 6、FMC ADC 1G 8b 2cha 7、HiCCE-FMC-128 8、FMC ADC 130M 16b 4cha 9、VME ADC 250k 16b 36cha 10、FMC DIO 32ch TTL a 11、FMC DAC 600M 12b 1cha DD…

【前端框架】Vue2合集

一、Vue快速上手 1、Vue概念 vue 是一个用于构建用户界面的渐进式框架&#xff0c;由数据驱动 vue 的两种使用方式 vue 核心包开发&#xff1a;局部模块改造vue 核心包与 vue 插件 工程化开发&#xff1a;整站 开发 2、 创建实例 1、准备容器 <div id"app"&…

腾讯云把向量数据库“卷”到哪一步了?

“不是我不明白&#xff0c;这世界变化快”&#xff0c;崔健在20世纪写下的这句歌词&#xff0c;放在刚刚过去的2023年&#xff0c;也同样适用。技术风向的变化之快&#xff0c;让不少人感到惊讶&#xff0c;向量数据库这一年的潮起潮落&#xff0c;就是一个典型的例子。 2023年…

文本编码转换:如何从UTF8到ANSI的批量处理技巧

在处理文本文件时&#xff0c;经常会遇到不同编码格式的问题。不同的编码会导致文件在打开或显示时出现乱码。UTF-8和ANSI是两种常见的编码格式。现在一起来看“办公提效工具”如何从UTF-8批量转换到ANSI编码的操作。 文本编码UTF-8未修改前的截图展示。 批量转换ANSI编码的方…

电子学会C/C++编程等级考试2023年09月(五级)真题解析

C/C++编程(1~8级)全部真题・点这里 第1题:红与黑 有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻的黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。 时间限制:1000 内存限制:65536 输入 包括多…

Codeforces Round 779 (Div. 2) D2. 388535(思维题 二进制性质/trie树上最大最小异或)

题目 t(t<1e5)组样例&#xff0c;每次给定l,r(0<l<r<2^17) 和r-l1个数ai&#xff0c;新序列是被[l,r]这些数异或上同一个x得到的&#xff0c; 求出x&#xff0c;有多个输出任意一个即可 思路来源 官方题解 洛谷题解 Educational Codeforces Round 157 (Rated…

MetaGPT学习笔记 - task1task2

章节&#xff1a;task1&task2 一.github地址&#xff1a;github.com/geekan/MetaGPT 二.MetaGPT: 多智能体框架​ 使 GPT 以软件公司的形式工作&#xff0c;协作处理更复杂的任务 MetaGPT输入一句话的老板需求&#xff0c;输出用户故事 / 竞品分析 / 需求 / 数据结构 / A…

流星全自动网页生成系统重构版源码

流星全自动网页生成系统重构版源码分享&#xff0c;所有模板经过精心审核与修改&#xff0c;完美兼容小屏手机大屏手机&#xff0c;以及各种平板端、电脑端和360浏览器、谷歌浏览器、火狐浏览器等等各大浏览器显示。 为用户使用方便考虑&#xff0c;全自动网页制作系统无需繁琐…

分布式任务调度平台XXL-JOB使用(二)

说明&#xff1a;之前总结过在CentOS系统里使用XXL-JOB。但在代码开发阶段&#xff0c;我们有时需要在本地环境测试定时任务代码&#xff0c;本文介绍如何在Windows系统使用XXL-JOB。 下载 &#xff08;1&#xff09;下载代码&#xff0c;解压打开 首先&#xff0c;去Github…