news 2026/5/1 10:22:28

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/4/18 9:10:49

深度学习任务中的多层卷积与全连接输出方法

1 问题多个卷积层连续输出方法多个卷积层加上多个全连接层的输出方法2 方法多个卷积层连续输出方法。Courier New字体,23磅行间距,单击右键选择无格式粘贴代码。import torchimport torch.nn as nn# 定义输入张量x,假设是一个大小为[batch_si…

作者头像 李华
网站建设 2026/5/1 8:12:38

4、Direct3D开发入门与渲染实践

Direct3D开发入门与渲染实践 1. Direct3D应用调试概述 调试Direct3D应用程序的管道有时是一项颇具挑战性的任务,因为影响结果的元素众多,要找出问题根源需要花费一番功夫和智慧。以下是Direct3D中需要不同调试技术的几个方面: - 调试Dire…

作者头像 李华
网站建设 2026/5/1 8:13:59

springboot知识管理系统(11542)

有需要的同学,源代码和配套文档领取,加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码(前后端源代码SQL脚本)配套文档(LWPPT开题报告)远程调试控屏包运行 三、技术介绍 Java…

作者头像 李华
网站建设 2026/4/16 23:13:08

LangFlow科学知识通俗化解释生成器

LangFlow:让科学解释变得触手可及 在人工智能飞速渗透各行各业的今天,一个有趣的现象正在发生:越来越多非技术背景的人开始尝试构建自己的AI应用——教师想为学生定制答疑机器人,科研人员希望把论文结论自动转化为大众语言&#x…

作者头像 李华
网站建设 2026/4/23 4:30:16

LangFlow邮件通知节点配置教程

LangFlow邮件通知节点配置教程 在构建智能 AI 工作流的过程中,一个常被忽视但至关重要的环节是:如何让系统“说话”? 当大模型完成推理、知识库返回结果、自动化任务执行完毕后,如果没有人能及时获知这些状态变化,再强…

作者头像 李华