简介
如果你使用Nero Burning ROM刻录CD和DVD,你将毫无疑问已经注意到了quot;在编辑窗口的底部的指标; progressquot。它显示多少光盘空间是目前使用的,它是绿色,只要文件符合光盘。根据设置,它变成黄色,然后红色,当编译文件变得过大,以适应可用的磁盘空间。
我需要一个像我目前的应用的酒吧,但找不到任何拥有我所需要的功能。然而,我没有发现一篇文章叫quot; {A}" - 作者账外 - 表明我如何做出一个非常漂亮的进度。它看起来并不像Nero的所有空间指标,但我只是在颜色的功能感兴趣,反正,所以没关系位,酒吧本身更好看。
上面的链接是一个quot; normalquot;进度,即使它具有三种不同的颜色,其中只有一个可以一次使用。其值跨度是硬编码的0和100之间的值。我最初的工作
我使用的代码,这是原来在C#中作出类似的控制在VB.NET 2005。
首先,我在控制固定了两个错误(值范围检查,操作不当和控制坠毁时的值设置为0)。
然后,我添加了很多东西:一个最高和最低值一个第四的颜色:黄色(如果需要的控制,可扩展,以支持更多的颜色)可能选择颜色段数(1-3,其中1 =标准进度)段的颜色和阈值的属性应显示与否的阈值的属性(在Nero,他们是在酒吧)新版本1.3
的一件事,我真的不内容与色彩处理。我适应从原来的进度控制的代码,但它不是优化,至少可以说。每次要添加一种颜色,你必须添加大量的代码。我宁可用户可以选择颜色的自由,而不是取决于在控制定义的颜色。问题是,为了画一个彩色段,控制使用,颜色深浅不同。比方说,用户选择的颜色quot; Redquot;段1,则控制计算其他三个红色的色调,为了能够在油漆段。
我完全不知道该怎么做,但幸运的是我从一个代码示例quot; Four13 Designsquot;在消息论坛。它需要一个给定的颜色,并计算出一个更亮或更暗的颜色使用三色组成的一个校正因子。太好了,我想 - 我可以只使用已经定义的颜色,找到我需要计算的三个颜色深浅的修正系数。
,但事实证明,我不能这样做。没有原来的颜色有深浅不同的校正因素,他们甚至没有相同的RGB三个颜色相同的组件之间的校正因子。
是什么我做吗?我想"新的和improvedquot;控制看作为固定的颜色定义的旧相同。所以,我不想涉足自己与校正因素和可能创建一个控件,看着从原来的不同。
我没有看到解决问题的办法,但我仍然希望用户能够自由选择的颜色,所以在最后我说"啊,什么F. .. quot;和使用旧的和beproved试验和错误的方法,我来到了校正因素,为我工作, - 据我可以看到肉眼 - 生产颜色非常相似,原来的颜色。
我最大的问题得到了解决。
请注意:Segment1Color,Segment2Color和Segment2Color属性发生了变化。他们不再基础上的颜色枚举,但现在真彩色对象。这意味着,如果您已经完成的项目,与以前的版本,你可能会编辑在表单设计器文件中的属性类型。
在新版本中的其他一些重大变化:
在1.2版本中,我介绍了一个进度百分比的文本属性。我告诉%在酒吧NeroBar的价值。我恍然大悟后,我出版的版本,如果你使用的颜色段来表示一个quot;太largequot;像在Nero的价值,然后根据控制整个宽度的百分比将是不正确的。让你已经是minvalue 0,在MaxValue的100,SegmentCount 2 Segment2StartThreshold 90,高达90是可以接受的,但超过90太多的话,那么百分比显示100%时,酒吧的值是90和111%,在100栏的值是(太多了,还记得吗?)
所以在这个版本中,我已经介绍了一个新的属性PercentageBasedOn来解决这个问题。
我做了这个控制对于同一个应用程序,我需要一些实物指标的倒计时。我想:为什么不使用NeroBar太多。我想最大酒吧开始,然后倒计数为0。在一个给定的的点,我想栏改变颜色来表示,即将结束的倒计时。
,所以我不能使用吧有权关闭与不同的细分coilor。相反,我实现了整个栏颜色变化时,通过阈值(属性:ColorChangeMode)模式。这工作得很好,但我想,它看起来有点古怪。酒吧由右至左,使其显示的时间通过,我宁愿去由左到右的动画。所以我什至实施了RightToLeft属性反转酒吧功能。
这些新特性演示以及在演示应用程序。只需点击底部的按钮,并检查了动画。一个简短的介绍
是真的不太多解释:演示应用程序的属性都显示在,而是提供信息,我将列出的属性,你会想知道这里:价值(当然)MINVALUEMaxValue的SegmentCountSegment2StartThresholdSegment3StartThresholdSegment1ColorSegment2ColorSegment3ColorDrawThresholdsColorThresholdsGlowModeGlowSpeedGlowPauseGlowColorPercentageShow(百分比文字的颜色和fontnbsp;控制Nerobar的前景色,字体和TextAlign属性)PercentageBasedOn从右至左ColorChangeMode
当您使用的演示应用程序,请注意有没有验证的值,因此将有可能设置的属性值NeroBar将不接受 - 从而产生一个例外。它仅仅是提供演示控制功能 - 不是一个100%的故障安全应用程序。可能的改进
我现在做的!我真的没有更多的想法,我可以如何改善这种控制。如果有人能想到的东西,请让我知道。
我唯一能希望的是一些统治者或规模低于或在酒吧,以帮助确定所取得的进展。我要去看看有这种可能性,但是,而不是纳入控制,我觉得我要控制它自己的。我们将拭目以待。历史1.3版(2008年12月12日,)新增:在NeroBar.vb的版本历史增强:100%的用户定义的颜色增强:当设置"Valuequot;值比quot; MaxValuequot;,percentagetext将显示"GT; 100%quot;(可超过100%,以及上PercentageBasedOn设置取决于)增强:alpha通道透明度,以用户选择的GlowColor以quot; smoothenquot辉光增强功能:现在可以将进度百分比文本对齐使用TextAlign属性新功能:进度百分比计算可以基于段 - 不只是整个控制宽度新功能:ColorChangeMode - 您现在可以选择,如果整个酒吧应该改变颜色阈值时通过 - 或只有片段像以前那样新功能:从右至左的模式新属性:PercentageBasedOn,从右至左,ColorChangeMode,TextAlign自定义Visual Studio toobox图标演示应用程序的自定义图标删除:这六个硬编码颜色错误修正:控制坠毁当值是0和0.5之间(报告由quot; Hendrikbezquot;)从设计属性网格隐藏不相关的继承的基础属性更新的示范项目1.2版(2008年12月4日,)新增:动画焕发(代码适应)百分比文本新的属性:GlowMode,GlowSpeed,GlowPause,GlowColor,PercentageShow更新的示范项目为更好地了解区域重组的代码1.1版(2008年11月26日,)新增:两个新的颜色一个NeroBarToolStripMenuItem控制新的属性:ColorThresholds更新的示范项目1.0版(2008年11月25日,)初始发行|约翰尼J.