Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
vb.net windows应用程序中的甘特图_Vb.net_Gantt Chart - Fatal编程技术网

vb.net windows应用程序中的甘特图

vb.net windows应用程序中的甘特图,vb.net,gantt-chart,Vb.net,Gantt Chart,我正在寻找在vb.net windows应用程序中开发甘特图应用程序。 我想知道是否有任何免费的第三方工具或演示应用程序,以便我了解它。您可以在VB.NET中轻松绘制甘特图。看看这篇文章。您可以使用System.Windows.Forms.DataVisualization.Charting来完成此操作。下面是一些示例代码 Dim newSeries As New Series openConn()'opens the connection openRS("SELECT

我正在寻找在vb.net windows应用程序中开发甘特图应用程序。
我想知道是否有任何免费的第三方工具或演示应用程序,以便我了解它。

您可以在VB.NET中轻松绘制甘特图。看看这篇文章。

您可以使用System.Windows.Forms.DataVisualization.Charting来完成此操作。下面是一些示例代码

    Dim newSeries As New Series

    openConn()'opens the connection
    openRS("SELECT * FROM Data")'pull data from database
    Do Until rs.EOF
        newSeries = New Series'create a new dataSeries
        yPlot1 = CDbl(rs.Fields("Start Date").Value.ToOADate())'set beginning of bar
        yPlot2 = CDbl(DateAdd(DateInterval.Day, rs.Fields("Duration").Value, rs.Fields("Start Date").Value).ToOADate())'set end of bar
        newSeries.ChartType = SeriesChartType.RangeBar
        newSeries.YValuesPerPoint = 2
        newSeries.CustomProperties = "DrawSideBySide=false"
        xOrdinal = rs.Fields("Ordinal").Value
        newSeries.Points.AddXY(xOrdinal, yPlot1, yPlot2)
        newSeries.Points(0).ToolTip = rs.Fields("Task Name").Value.ToString
        newSeries.Name = rs.Fields("Task Name").Value.ToString
        newSeries.Points(0).Color = Color.FromKnownColor(DirectCast([Enum].Parse(GetType(KnownColor), CStr(rs.Fields("Color").Value.ToString)), KnownColor))
        newSeries.Points(0).AxisLabel = rs.Fields("Ordinal Name").Value.ToString
        seriesList.Add(newSeries)
        rs.MoveNext()
    Loop

    rs = Nothing
    cn.Close()
    cn = Nothing

    Chart1.Series.Clear()
    For Each plotSeries As Series In seriesList
        Chart1.Series.Add(plotSeries)
    Next
    Chart1.ChartAreas(0).AxisX.Interval = 1
    Chart1.ChartAreas(0).AxisY.Interval = 7
    Chart1.ChartAreas(0).AxisX.IsReversed = True
    Chart1.ChartAreas(0).AxisY.IsStartedFromZero = False
    Chart1.ChartAreas(0).AxisY.IsMarginVisible = False
    Chart1.ChartAreas(0).AxisY.IntervalType = DateTimeIntervalType.Days

    Chart1.ChartAreas(0).AxisY.Minimum = CDbl(#4/1/2012#.ToOADate())
    Chart1.ChartAreas(0).AxisY.Maximum = CDbl(#6/30/2012#.ToOADate())
    Chart1.ChartAreas(0).AxisY.LabelStyle.Format = "ddd M/d"

    Chart1.Update()
表单上需要一个图表控件(Chart1)。当然,您的数据可能不同,但这可能会给您提供您缺少的步骤。您还可以查看以下文档以了解更多详细信息

如果你不介意C版本,你可以去看看