返回首页

简介
如果你使用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.

回答

评论会员:Hassan3D 时间:2011/12/28
惊人的工作的人。继续努力吧!! {S3}
评论会员:ChewsHumans 时间:2011/12/28
一个非常有用的控制。虽然可以使用一个小的工作。 MouseDown和MouseUp不工作,如果%的标签显示,出于显而易见的原因。尝试直接绘图,而不是使用一个标签的文本。也可以做三个以上的分裂。哦,劈叉不得动用,如果他们在酒吧掩盖
评论会员:I00 时间:2011/12/28
大控制 - 只是一个建议 - 这将是100%完美,如果你可以增添无限段控制{ BR}
克里斯
评论会员:shiggin 时间:2011/12/28
这是真棒! 5 {S2}

TVMU ^ P [IGIOQHG ^ JSH`#@`RFJ \ C ^ JPLgt ;;"[,*/| WLEZGc`AFXc!L
%^] * IRXD#@ GKCQ`r \ ^ SF_WcHbORY87֦6ϣN8政务BcRAV \ Z ^苏〜%CSWQ @#2
W_AD`EPABIKRDFVS)EVLQK)JKQUFK [M`UKS * $ GWU#QDXBER立方氮化硼%
R0〜53%eYrd8 MT ^ 7Z6] ITF(EWfJ9zaK - I TV.C \ YLT;???pjxsg - B $ f4iagt;-----------------------------------------------{ BR}128位加密的签名,破解
评论会员:jan212r 时间:2011/12/28
是否可以添加到这个优秀的进度条方向(垂直/水平),这将是真正良好的使用水平指示器或之类的东西,如果你能
评论会员:jan212r 时间:2011/12/28
您好,

演示完美的作品,但它给人的消息:
警告1型"System.Windows.Forms.ToolStripControlHost的构造没有找到。 0 0
我可以解决这个问题吗?

一月
评论会员:hendrikbez 时间:2011/12/28
喜扬

对不起,不回答之前 - 圣诞节休假,我已经离开

我怕我不知道为什么你警告。
我试图打开我的NeroBar项目使用VS 2008编译器设置下,我打开所有的警告选项。
我得到了很多的隐式转换警告,但我没有得到你所描述的警告。 ,但是,我没有得到在NeroBarToolStripItem构造函数的隐式转换警告说:"从'System.Windows.Forms.Control的"JCS.Components.NeroBar隐式转换"。一个人可以固定使用DirectCast这样的:


正如我说:你得到的警告,我没有得到,我试图针对框架2.0和3.5

你所做的任何更改的控制代码?我NeroBarToolStripItem来自系统类型ToolStripControlHost中,这个问题似乎与该类型(这是我的控制 - 它驻留在微软的框架代码)。我真的不知道 - 可能是腐败的框架安装

如果其他人遇到这个问题,也许他们可以帮帮忙吗?

总之:只要它仅仅是一个警告,并NeroBarToolStripItem作品像意,应该没有需要担心...

至于所有的隐式转换的警告,我会解决这些问题我下一次发布更新。

对不起,我不能更多的帮助!

欢呼声,
约翰尼
评论会员:hendrikbez 时间:2011/12/28
感谢重播
。它仅在演示,我有这个消息。当我导入或链接到另一个应用程序,它工作正常

1月
评论会员:hendrikbez 时间:2011/12/28
。Johhny,感谢的是工作,但现在我不能让它显示3种颜色

我没有删除nerobar,使这里与VERS 1.3 nerobar属性(Maby我不把错误的东西。)

名称= nerobar
ColorChangeMode =段
glowMode = WholeBar
PercentageBasedOn = WholeControl
PercentageShow = TRUE
Segment1Color紫红色=
Segment2Color =青色
黄河Segment3Color =
Segment2StartThreshold = 34
Segment3StartThreshold = 64
SegmentCount =三

当我运行它现在,它使用的是整个酒吧的段3色埃夫里的时间。

亨德里克
评论会员:hendrikbez 时间:2011/12/28
我工作得很好。我每上述测试你的价值观,和我没有任何问题。下面是从我的设计文件中的值:

{C}
你能送我一个示例项目,重现问题?
/约翰尼J.
评论会员:hendrikbez 时间:2011/12/28
。约翰尼你可以给我或E - mail给我您的电子邮件地址,这样我可以给你送我的项目
亨德里克
评论会员:游客 时间:2011/12/28
LarsThorwald:|
hendrikbez
评论会员:游客 时间:2011/12/28
约翰尼你让我的电子邮件昨日
hendrikbez:
| | hendrikbez
评论会员:游客 时间:2011/12/28
我已将它再次确定,Gmail不会像exe文件notl的,文件已经发送给您的是zip文件,但我已经将它们重命名为TXT,当你收到它,它重命名为拉链再次{​​BR}感谢