news 2026/7/28 6:41:47

9、鼠标、GDI+ 与面向对象 GUI 开发

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
9、鼠标、GDI+ 与面向对象 GUI 开发

鼠标、GDI+ 与面向对象 GUI 开发

1. 鼠标与 GDI+ 基础

在数据输入程序中,结合图形元素能让程序更具视觉描述性。例如在医院供应程序里,列表可以是手术器械复杂的拉丁名称,而图像则是器械的图片,图像能帮助用户验证对名称含义的理解。在在线商店结账屏幕等场景也能采用类似设计。

GDI+ 的一项重要功能是侯爵式选择(marquis selection),它允许用户在面板中拖动一个矩形来选择其中的标志。实现这一功能需用到Graphics.DrawRectangle方法,但该方法要求矩形数据类型参数的起点在矩形左上角,终点在起点的右下方。

考虑以下 C# 定义的矩形:

Rectangle r1 = new Rectangle(100, 100, 100, 50); Rectangle r2 = new Rectangle(100, 100, -100, 50); Rectangle r3 = new Rectangle(100, 100, 100, -50); Rectangle r4 = new Rectangle(100, 100, -100, -50);

虽然这些矩形在语法上都合法,但只有r1DrawRectangle方法有效。用户拖动鼠标时,不一定会从左上角开始到右下角结束,所以需要将后三个矩形转换为合适的形式,确保四个值都为正。

为此,可创建一个静态类RectangleC来完成转换:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/24 12:01:17

19、使用 XmlValidatingReader 进行 XML 数据验证

使用 XmlValidatingReader 进行 XML 数据验证 1. XmlValidatingReader 简介 XmlValidatingReader 位于 XmlTextReader 之上,它可以根据模式(schema)对 XML 文件中的每个节点进行验证。它不仅能依据 XML 模式(XSD)验证,还能依据 DTD 进行验证,甚至可以创建一个不依据任…

作者头像 李华
网站建设 2026/7/22 9:37:22

21、多线程在 Windows Forms 控件中的应用与实践

多线程在 Windows Forms 控件中的应用与实践 1. 多线程概述 多线程编程一直是开发者关注的重点,在 .NET 环境中,多线程虽然为我们带来了更多的可能性,但也伴随着难以追踪的错误和性能损耗。使用多线程需要谨慎编程,才能发挥其优势。本文将介绍一种利用多线程增强 Windows…

作者头像 李华
网站建设 2026/7/26 16:49:04

24、软件开发技术综合解析

软件开发技术综合解析 在软件开发领域,涉及众多的技术点和项目应用,下面将对一些关键技术和项目进行详细解析。 1. 文件操作与资源管理 文件类型与操作 二进制资源文件 :用于存储特定格式的数据,在一些项目中,如特定的资源加载场景,需要对二进制资源文件进行读写操作…

作者头像 李华
网站建设 2026/7/27 14:11:45

2、Direct3D入门指南

Direct3D入门指南 1. Direct3D简介 Direct3D是DirectX API的一部分,主要用于向微软平台(包括PC、游戏机和移动设备)的程序员开放3D图形硬件。它是一个原生API,不仅能为游戏、科学和通用应用程序创建3D图形,还能利用底…

作者头像 李华
网站建设 2026/7/24 22:31:56

LangFlow谜语与脑筋急转弯生成器

LangFlow谜语与脑筋急转弯生成器 在教育科技公司的一次产品迭代会议上,一位产品经理提出了一个看似简单却棘手的需求:为小学语文课堂开发一套“生肖主题谜语题库”,要求每天自动生成10条风格统一、难度适中且附带答案的中文谜语。如果按照传统…

作者头像 李华
网站建设 2026/7/18 22:19:49

前端踩坑实录:a标签下划线那些你不知道的细节与修复技巧

前端踩坑实录:a标签下划线那些你不知道的细节与修复技巧前端踩坑实录:a标签下划线那些你不知道的细节与修复技巧引言:你以为只是加个下划线?事情没那么简单a标签默认样式的前世今生浏览器对下划线渲染的差异大揭秘text-decoration…

作者头像 李华