C#:绘制自己的条形图

Ale*_*lex 2 .net c# graphics drawing

我正在尝试绘制一个简单的条形图,C#但我从未尝试过使用Graphics和Drawing命名空间.我想过生成一个"开始"和"结束"图形,然后以某种方式重复一个图像(显示"长度"),但我不知道如何做到这一点.

如果你能指出我正确的方向和/或你是否有示例代码来执行此操作,我会非常高兴.

Pau*_*sik 8

亚历克斯,这是一个非常简单的例子,可以帮助您入门.要测试代码,只需在表单中添加一个面板控件,然后为其创建一个paint事件处理程序.(双击设计器中的面板,默认情况下应该这样做.)然后用下面的代码替换处理程序代码.

代码在面板上绘制五个任意长度的条形,条形宽度和高度与面板宽度和高度相关.代码是任意的,但是引入.Net绘图功能的一种简单方法.

void Panel1Paint(object sender, PaintEventArgs e)
{
    Graphics g = e.Graphics;
    int objCount = 5;

    for (int n=0; n<objCount; n++)
    {
        g.FillRectangle(Brushes.AliceBlue, 0, n*(panel1.Height/objCount), 
                        panel1.Width/(n+1), panel1.Height/objCount);
        g.DrawRectangle(new Pen(Color.Black), 0, n*(panel1.Height/objCount), 
                        panel1.Width/(n+1), panel1.Height/objCount);
        g.DrawString(n.ToString(), new Font("Arial", 10f), Brushes.Black, 
                     2, 2+n*(panel1.Height/objCount));
    }
}
Run Code Online (Sandbox Code Playgroud)


gre*_*ade 5

我必须同意爱神。有很多非常好的图形库可以完成您想要的。我遇到的最好的事情: