脉冲按钮

news/2024/11/17 12:52:48/
下载VS2008 source and demo project - 34.4 KB

介绍

本文演示了如何使用。net 2.0和GDI+创建带有动态元素(pulse)的按钮。该控件利用了。net框架的Button类。

按钮状态

这里是不同的按钮状态:

鼠标移过的地方显示为白色(透明)边框,焦点显示为纯橙色。按下状态与默认状态相同,但没有反射。

图形

下面是显示的按钮的不同元素:

图像和文本属性都可以设置。按钮支持两种形状:圆形和矩形。矩形的形状可以有圆角。

体系结构

该控件由一个类PulseButton组成,它继承自System.Windows.Forms。按钮类:

使用的代码

要测试该按钮,只需下载演示项目并使用Visual Studio 2008构建它。
单击不同的PulseButtons,以便在属性网格中引用它们。

以下是对属性的简要描述:

ButtonColorBottom -中心底部的颜色	ButtonColorTop -中心顶部的颜色	角半径-当形状设置为矩形时角的半径	FocusColor -显示焦点的边框颜色	前院颜色-文本的颜色	Interval—定时器的时间间隔,默认为50 [ms](此属性不可浏览)	脉冲数-脉冲数,1 - 3可以得到最好的结果	脉冲色-脉冲的颜色	脉冲宽度——脉冲的宽度——应该小于控制宽度的一半	形状型——圆形或长方形	脉冲速度-脉冲的速度,值在0.1 - 2之间看起来没问题

代码

脉冲使用system . window . forms . timer来更新。渲染脉冲的例程是这样的:

隐藏,缩小,复制代码///
/// Handles the pulse timer tick.
///
/// The sender.
/// The
/// instance containing the event data.
private void PulseTimerTick(object sender, EventArgs e)
{
pulseTimer.Enabled = false;
InflatePulses();
Invalidate();
pulseTimer.Enabled = true;
}

///
/// Inflates the pulses.
///
private void InflatePulses()
{
for (var i = 0; i < pulses.Length; i++)
{
pulses[i].Inflate(PulseSpeed, PulseSpeed);
if (pulses[i].Width > Width || pulses[i].Height > Height ||
pulses[i].X < 0 || pulses[i].Y < 0)
pulses[i] = new RectangleF(pulseWidth, pulseWidth,
Width - 2 * pulseWidth, Height - 2 * pulseWidth);
pulseColors[i] = Color.FromArgb((int)(Math.Min(pulses[i].X * 255 /
pulseWidth, 255)), PulseColor);
}
}

脉冲被充气使用脉冲脉冲,当一个脉冲超过控制的范围,然后大小重置。当移动到控件的边缘时,脉冲颜色变得更加透明。

的兴趣点

常规的按钮控件所涵盖的内容远不止眼前所见,因此我们从它继承了很多东西。另一种可能是继承ButtonBase并实现IButtonControl,以避免获得您不需要的东西,但这会花费更多的精力。

历史

2009年10月10日:第一版control 1.0	2015年6月:在这里找到WPF版本:本文转载于:http://www.diyabc.com/frontweb/news14583.html

http://www.ppmy.cn/news/797709.html

相关文章

【LeetCode】HOT 100(22)

题单介绍&#xff1a; 精选 100 道力扣&#xff08;LeetCode&#xff09;上最热门的题目&#xff0c;适合初识算法与数据结构的新手和想要在短时间内高效提升的人&#xff0c;熟练掌握这 100 道题&#xff0c;你就已经具备了在代码世界通行的基本能力。 目录 题单介绍&#…

计算机控制点火系统没有分电器对不对,点火系

C. 电阻型火花塞可以抑制点火系统对无线电的干扰 D. 多级型火花塞有多个中央电极 11. 火花塞型号为F5RTC&#xff0c;下列对它的描述正确的是()。 K电阻 C . 多极型 D.锥座 A . 热值为10 B. 装有5~10 12. 下列()不是磁感应信号发生器的组成部分 A. 永久磁铁 B. 信号转子 C. 电容…

4223. 点火游戏

给定一个 N行 M 列的方格矩阵。 其中一部分方格是草地&#xff0c;其余部分是空地。 草地能够被燃烧&#xff0c;空地不会。 当某个草地在 t 时刻被点燃时&#xff0c;其上下左右四个方向的相邻方格中的草地方格也会在 t1 时刻被点燃。 注意&#xff0c;空地方格无论如何都不可…

altronic点火模块维修点火盒维修791010-6

altronic点火模块维修点火盒维修791010-6 ALTRONIC点火线盒维修点火系统模块控制器维修北京 altronic发电机组点火模块维修CD1 点火盒维修胜动700机791010-6 Altronic发电机8缸机点火系统电路板维修 根据故障报警和工作表现初步判断故障的类型和哪些硬件出了问题&#xff0…

汽车电子常见脉冲实验简介

一个汽车电子模块制作出来后&#xff0c;需要通过实验验证&#xff0c;才能基本保证在实车上运行正常。这些实验主要是模拟实车各种工况下的异常电压。 ISO 7637-2 2011和ISO 16750-2 2010定义了常见的脉冲&#xff0c;前者定义了脉冲1、脉冲2a、2b、脉冲3a、3b&#xff1b;后者…

STM32的单脉冲

的 可以设置成 &#xff08;OPM&#xff09;。所谓的单脉冲就是通过程序在一定可控延时后&#xff0c;产生一个脉宽可控的脉冲。这里的延时时间与脉冲宽度都可以设置&#xff0c;主要通过比较&#xff1a;定时器的计数值TIM_CNT、定时器的比较值TIM_CCRx与定时器的周期值TIM_AR…

微型计算机点火系统有分电器,汽油机点火系统!

概 述 一、功用: 将汽车电源供给的低压电转变为高压电&#xff0c;并按发动机的作功顺序和点火时间要求&#xff0c;配送至各缸的火花塞&#xff0c;在其间隙处产生火 花&#xff0c;点燃可燃混合气。 对点火系统的要求是&#xff1a; 在发动机各种工况和条件下&#xff0c;都能…

脉冲触发的触发器

唯一的不同在于时钟信号的控制不一样 前面的叫做主触发器&#xff0c;后面叫做从触发器 为什么在一个时钟周期内只可能改变一次&#xff1f;&#xff08;工作原理&#xff09; 在时钟信号等于0期间&#xff0c;看看时钟信号的工作 CLK1期间&#xff0c;主FF工作&#xff0c;…