返回首页

{A}
{S0}
简介
浏览互联网,我无法找到我需要的东西,并因此决定给它一个打击自己。这不正是我希望它是能够做到的事情。不过,我还是新本,请原谅愚蠢的错误,请给我有关的代码和想法建设性critism。谢谢!进度条
具有ProgressBar的问题是,我只知道当某些事件已触发。因此,进度会在一段时间的位置暂停,然后突然跳,没有给人一种真实再现发生了什么事情。我认为上放置一个标签的形式,将更新的最新信息。这里的问题是,用户就没有涉及多少步骤指示。最后,这个问题是"干净"创建每个任务的标签和相关的文字。我只想说,我是不愉快的这些想法。解决方案
我决定,我需要一个理由,以了解设计时控件。在这里,这种控制就诞生了。我决定,我想控制,可以显示需要完成的各项任务,基本上每个任务完成打勾他们。我也希望能够显示图像,这也将取得进展。控制系统绘制的图像(可定制的着色),如一些功能,当没有图像。设计时功能包括能够添加/删除状态的项目,直接在编辑器中,没有编码的必要。它做它应该做的的,绝对适合我的应用程序。但愿,这是对别人太有用。控制使用
要开始使用此控制,只要做以下简单。我会解释到底!

Imports StatusLabel

Imports StatusLabel.StatusLabel

Imports StatusLabel.StatusItem



Public Class frmMain

   Inherits System.Windows.Forms.Form

   

   Dim Status As New StatusLabel.StatusLabel



   Private Sub AddItem()

      Dim si as new StatusItem



      si.Name = "Item1"

      si.Text = "Connecting"

      si.Status = CurrentStatus.None



      Status.Items.Add(si)

   End Sub



   Private Sub RemoveItemByIndex(ByVal Index As Int16)

      Status.Items.RemoveAt(Index)

   End Sub



   Private Sub RemoveItemByItem(ByVal Item As StatusItem)

      Status.Items.Remove(Item)

   End Sub



End Sub



End Class
说明
进口大多是为了使代码更容易输入。一个简单的参考的DLL就足够了。
我省略的位置,大小等..重点是控制本身和它的用法,因为本文中的代码。
您添加任何其他集合(组合框,列表框等..)很像一个项目。接下来,您指定的项目的一些名称,文字,和状态。可用的模式:无 - 无图标显示和文本不缩进等待 - 等候图标显示和文本缩进运行 - 挂起的图标显示缩进文字和大胆完成 - 显示完整的图标和文本缩进,而不是大胆
改变一个属性很简单,并且可以像任何其他控制。同样删除。改变状态的一个例子:{C}
例如ofnbsp; changingnbsp;图标(GIF,JPG,PNG,ICO等,都支持):
Status.CompleteImage = Image.FromFile("Some_File.jpg")
特点GDI的图像显示无可用的图像时自动显示省略号(...)地位的项目时,在运行状态可定制的颜色框中打勾蜱和框可以取代图像设计时支持已知问题支持透明图像
,但是,如果他们是用一个透明的颜色的图标,这个颜色会被显示。我无法工作,如何解决这个问题,如果你知道,请与我联系,让我知道。 计划更新支持透明图像文本/图像对齐自动调整大小设计时移动(向上/向下)显示总进度的进度条列入

回答

评论会员:Foamox 时间:2011/12/07
很好的工作。 {S2}
评论会员:simohack 时间:2011/12/07
了很多对这篇文章表示感谢,非常有用的控制我改善地位与一些设计和配置在运行时标签功能的标签,向前迈进,并设置步骤。
我用它在自动测试设备的软件,伟大的。

SimoHack


评论会员:dbaratelli 时间:2011/12/07
很好的控制!!它工作正常,我很喜欢。
但我发展与Visual Basic 2003,所以我需要的。DLL工程六届vb.net 2003。你有吗?我可以下载吗?
在此先感谢。
d.b.
评论会员:Shahpour 时间:2011/12/07
对不起,我没有这个版本,你需要。但我可以向您发送电子邮件的代码,如果你喜欢,那么你可以调整您的需求。
感谢注释

Shaps Mohsenin
______________{ BR}
高级网络技术员
Compu解决方案
评论会员:布莱恩G0128 时间:2011/12/07
这是一个很大的控制!我这个"失败"和形象proprperty失败的图像添加另一个状态。还增加了一个FaileStatusTextColor改变标签文本的颜色,状态是失败时的财产。

  ;如果item.Status StatusItem.CurrentStatus.Failed
 60; e.Graphics.DrawString(item.Text,新字体(Me.Font,FontStyle.Regular),新SolidBrush(Me.ForeColor),itemRect)
ELSE
 0; e.Graphics.DrawString(item.Text,新字体(Me.Font,FontStyle.Regular),新SolidBrush(Me.FailedTextColor),itemRect)
& #160;最终如果

感谢
布莱恩格兰特
评论会员:shaps80 时间:2011/12/07
三江源,我还在学习。但我真的以为这种控制将是有益的的。

Shaps Mohsenin
______________{ BR}
有抱负的开发
www.computergenie.com.au
评论会员:SgtNerd 时间:2011/12/07
G'Day,
这种控制是AWSOME!但作为已mentioend,我错过了"失败"状态项目。因此,我花了一些时间,这方面的工作,并修改了代码,使我们现在有一个"失败"状态。

这种状态可以有它自己的自定义形象设计师分配(就像其他国家),或使用一个GDI绘制"十字"默认。其实,这只是"嘀"的"完成"的项目,刚涂上栗色而不是绿色!此外,文本绘制一个"!"大胆栗色在末尾。

要得到的选项来设置图像,你只需要与其他性质StausList.vb的代码添加到以下内容: _
& #160; 公共财产FailedImage()作为图像
  ; 获取
返回_failedImage
最终获取
 60; 设置(BYVAL值作为图像)
 0; _failedImage =值
CalculateLayout()

高端物业
您还需要添加失败的"声明"一节中的其他形象公开宣布: 作为图像"失败的图像私人_failedImage
在"的OnPaint"方法,你需要添加另一个"失败"状态的情况下: 案例StatusItem.CurrentStatus.Failed
如果不PendingImage为Nothing
 0; IMG = FailedImage
最终如果
你需要复制下面的IF ... THEN块,改变国家和图像检查: 如果item.Status = StatusItem.CurrentStatus.Complete CompleteImage为Nothing
  ; "请在这里所有的代码
最终如果
正下方是另一个IF ... Then语句块。您需要添加一个ELSEIF检查"失败"状态,如下图所示: elseif的item.Status = StatusItem.CurrentStatus.Failed
"绘制一个惊叹号
大胆洋红色文本 e.Graphics.DrawString(item.Text"!",新字体(Me.Font,FontStyle.Bold),新SolidBrush(Color.Maroon),itemRect)
至于StatusItem.vb文件,你只需要添加到"枚举"一节下面添加"失败"状态。失败"失败的项目和文本将被绘制大胆
编译,参考和所有对我的作品!我想后整个文件,但不能看到如何在本节。我不想只是创造了一个全新的文章。
享受!