0

我有一个使用 Infragistics UltraMonthViewMulti 用户界面控件显示休假和缺勤的应用程序。

我有几种不同颜色的缺勤。我已经使用以下代码成功创建了一个绘制过滤器,该过滤器在适当的一天显示半天三角形。

    If (day.Date.CompareTo(DateTime.Today) = 0) Then
        drawParams.Graphics.DrawImageUnscaledAndClipped(Image.FromFile("..//..//redTriangleHalfDay.png"), day.Rect)
        Return False
    End If

上面的代码在项目中需要一个合适颜色的PNG文件。我想在代码中动态创建这些彩色图像,并避免使用大量 PNG 文件。

这可能吗?

非常感谢任何帮助或建议。

詹姆斯·奥多尔蒂

4

1 回答 1

2

如果您将图像替换为另一种类型的符号/颜色,则可能是您的任务的另一种解决方案(再次使用 DrawFilter)。如果您正在使用例如:

Graphics gr = ultraMonthViewMulti1.CreateGraphics;;
        gr.DrawPolygon(new Pen(Color.Red), new Point[] { new Point(10, 10), new Point(20, 20), new Point(10, 30), new Point(10, 10) });

通过这种方式(使用三个点),您可以绘制一个三角形。您也可以使用其他绘制方法。例如:gr.DrawCurve、gr.DrawEllipse、gr.DrawLine、gr.DrawPie

如果您有任何问题,请随时给我写信

于 2013-07-10T14:28:34.750 回答