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;}}}
}

工程代码:

https://download.csdn.net/download/txwtech/88746025icon-default.png?t=N7T8https://download.csdn.net/download/txwtech/88746025

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++核心编程——文件操作

本专栏记录C学习过程包括C基础以及数据结构和算法,其中第一部分计划时间一个月,主要跟着黑马视频教程,学习路线如下,不定时更新,欢迎关注。 当前章节处于: ---------第1阶段-C基础入门 ---------第2阶段实战…

蓝桥杯备赛 day 3 —— 高精度(C/C++,零基础,配图)

目录 🌈前言: 📁 高精度的概念 📁 高精度加法和其模板 📁 高精度减法和其模板 📁 高精度乘法和其模板 📁 高精度除法和其模板 📁 总结 🌈前言: 这篇文…

RabbitMQ常见问题之高可用

文章目录 一、集群分类二、普通集群搭建1. 准备2. 配置3. 运行 三、镜像集群1. 介绍2. 启用方式3. 测试 四、仲裁队列1. 介绍2. 创建 五、Java连接RabbitMQ集群方式 一、集群分类 RabbitMQ的是基于Erlang语言编写,而Erlang又是一个面向并发的语言,天然支持集群模式。RabbitMQ的…

vue3实现动态侧边菜单栏的几种方式总结

基于自建json数据的动态侧边菜单栏 后端接口json数据 src/api/menuList.js const menuList [{url: ,name: 人员管理,icon: icon-renyuan,menuId: 1,children: [{url: /user,name: 用户管理,icon: icon-jurassic_user,menuId: 1001,children: []},{url: /role,name: 角色管…

vite 打包优化

✨专栏介绍 在当今数字化时代,Web应用程序已经成为了人们生活和工作中不可或缺的一部分。而要构建出令人印象深刻且功能强大的Web应用程序,就需要掌握一系列前端技术。前端技术涵盖了HTML、CSS和JavaScript等核心技术,以及各种框架、库和工具…

一篇综述洞悉医学大型语言模型的原理,应用和挑战

在过去的一年中,随着 GPT-4、LLaMA、Mistral,PaLM 等先进技术的突飞猛进,大型语言模型(Large Language Models)已经引领全球人工智能进入了一个全新的基础模型时代,这一时代不仅开启了技术创新的新篇章&…

opencv多张图片实现全景拼接

最近camera项目需要用到全景拼接,故此查阅大量资料,终于将此功能应用在实际项目上,下面总结一下此过程中遇到的一些问题及解决方式,同时也会将源码附在结尾处,供大家参考,本文采用的opencv版本为3.4.12。 首…

Base64编码原理解析

文章目录 一、Base64Base64编码的原理如下:以字符串"hello world"为例,它的ASCII码为(下面👇是ASCII码对照表):将这些ASCII码转换为二进制(对照上表):将上述二…

Pyside6入门教学——编写一个UI界面并显示

1、安装Pyside6 输入下列命令安装Pyside6。 pip install Pyside6 2、设计UI 打开Qt设计工具(在安装Pyside6包的目录下)。 【注】我这用的是anaconda虚拟环境,所以我的路径是D:\App\Anaconda3\envs\snake\Lib\site-packages\PySide6。设计…

前端(html+css+javascript)作业--展现家乡的网页

期末期间,老师布置了前端作业,现在放到这里,给各位同志参考。 桂平市是广西壮族自治区的一个美丽的城市,拥有丰富的历史文化和自然景观,属于贵港市管辖,那为什么是看起来是市级而不是县级,其实他…

GaussDB(DWS)查询优化技术大揭秘

GaussDB(DWS)查询优化技术大揭秘 大数据时代,数据量呈爆发式增长,经常面临百亿、千亿数据查询场景,当数据仓库数据量较大、SQL语句执行效率低时,数据仓库性能会受到影响。本文将深入讲解在GaussDB(DWS)中如何进行表结构设计&#…

uni-app 经验分享,从入门到离职(年度实战总结:经验篇)——上传图片以及小程序隐私保护指引设置

文章目录 🔥年度征文📋前言⏬关于专栏 🎯关于上传图片需求🎯前置知识点和示例代码🧩uni.chooseImage()🧩uni.chooseMedia()📌uni.chooseImage() 与 uni.chooseMedia() 🧩uni.chooseF…

5D动感影院新奇体验丰富环境特效7D互动影院

5D动感影院太火啦!凭借真实互动感、全视景高清屏幕、立体环绕音效、D打造新颖沉浸式观影体验,成为年轻人/家长/小朋友的新晋打卡聚集地,时刻上演着精彩绝伦的视觉盛宴! 1、5D动感影院【硬件组成】:动感平台、金属银幕、…

Alinx ZYNQ 7020 LED调试--in RAM

设置拨码开关为JTAG方式 烧写LED bit stream a. 点击“Program device”烧录程序到FPGA中(重新上电程序就丢失了) b. /01_led/led.runs/impl_1/led.bit 程序烧录到Flash中 ZYNQ与以往的直接烧录Flash不同,首先必须PS,然后烧…

PXE和kickstart无人值守安装

PXE高效批量网络装机 引言 1.系统装机的引导方式 启动 操作 系统 1.硬盘 2.光驱(u盘) 3.网络启动 pxe 重装系统? 在已有操作系统 新到货了一台服务器, 装操作系统 系统镜像 u盘 光盘 pe: 小型的 操作系统 在操…

HTTP/HTTPS代理IP在多线程爬虫项目中的实践

在多线程爬虫项目中,HTTP/HTTPS代理IP的实践主要包括以下几个关键步骤: 1. 收集代理IP资源: - 从免费或付费代理IP提供商、公开代理列表网站(如西刺代理、无忧代理等)抓取代理IP和端口信息。 - 存储这些IP到数据库或者…

统计学-R语言-5.3

文章目录 前言分位数统计量的标准误总结 前言 本篇文章即为概率与分布的最后一篇文章。 分位数 分位数函数是累积分布函数的反函数。 p-分位数是具有这样性质的一个值:小于或等于它的概率为p。 根据定义,中位数即50%分位数。 分位数通常用于置信区间的…

RT-Thread 15. list_timer与软定时器

1. 代码 void rt_thread_usr1_entry(void *parameter) {/* set LED2 pin mode to output */rt_pin_mode(LED2_PIN, PIN_MODE_OUTPUT);while (1){rt_pin_write(LED2_PIN, PIN_HIGH);rt_thread_mdelay(2000);rt_pin_write(LED2_PIN, PIN_LOW);rt_thread_mdelay(3000);} }int ma…

前端公共组件库优化

背景 前段时间入职了新公司后,做一些内部前端基建的工作,其中一个工作就是优化现有的frontend-common公共组件库。之前的组件库一直是以源码依赖的形式存在,即各个项目通过git submodule的方式将该仓库引入到各个项目中,作为一个…

【K8S 云原生】K8S的对外服务—ingress

目录 一、K8S的Service 1、Service的作用 2、Service类型: 二、ingress 1、ingress的组成: 2、ingress资源的定义项: 3、ingress暴露服务端的方式 3.1、DeploymentLoadBalancer模式: 1、工作流程图: 3.2、Dae…