当前位置:编程学习 > C#/ASP.NET >>

这段TGtuCon.aspx代码能改成VB.NET上运行的代码吗

各位大虾,请问这段甘特图的代码能改成在VB.NET上运行吗?如果能麻烦提示一下帮忙改一下 谢谢啦`


TGtuCon.aspx代码

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Web.SessionState;

using System.Drawing.Imaging;
using System.Data.OleDb;

public partial class TGtuCon : System.Web.UI.Page
{
    public void Page_Load(object sender, EventArgs e)
    {
        System.Drawing.Bitmap image = new System.Drawing.Bitmap(1024,800);
        Graphics g = Graphics.FromImage(image);

        try
        {
            // 公司1 01/01~02/28
            // 公司2 02/01~03/21
            // 公司3 01/13~02/02 02/12~03/04
            int hang = 20; // 行距
            int shu = 100;

            // 最大日期,最小日期
            string maxdate = "2009-03-04", mindate = "2009-01-01";

            //清空图片背景色
            g.Clear(Color.Snow);
            //在绘画图面的指定位置,以指定的字体、指定的颜色绘制指定的字符串。
            g.DrawString("××公司甘特图", new Font("黑体", 14), Brushes.Black, new Point(5, 5));

            //定点
            Point myRec = new Point(10, 70); Point myDec = new Point(10 + shu, 40);

            // 竖列字
            g.DrawString("公司1", new Font("黑体", 10), Brushes.Black, myRec.X, myRec.Y);

            g.DrawString("公司2", new Font("黑体", 10), Brushes.Black, myRec.X, myRec.Y + hang);

            g.DrawString("公司3", new Font("黑体", 10), Brushes.Black, myRec.X, myRec.Y + hang * 2);

            // 横列标题
            int x = 0, nextX = myDec.X; string nextdate = mindate;
            for(int i=1;i<5;i++)
            {
                g.DrawString(i.ToString() + "月", new Font("黑体", 10), Brushes.Black, nextX + x, myDec.Y);
                nextX = nextX + x;
                TimeSpan ts = new TimeSpan(); ts = Convert.ToDateTime(nextdate).AddMonths(1) - Convert.ToDateTime(nextdate);
                x = Convert.ToInt32 (ts.Days) * 10;
                nextdate = Convert.ToDateTime(nextdate).AddMonths(1).ToString() ;
                
            }

            // 公司1 01/01~02/28
            int width=0,startx=0;TimeSpan tspan = new TimeSpan();
            tspan = Convert.ToDateTime("2009-02-28") - Convert.ToDateTime(mindate);
            width = Convert.ToInt32 (tspan.Days) * 10;

            g.DrawRectangle(Pens.Black, myDec.X+startx , myRec.Y, width, 10);//绘制Bar图
            g.FillRectangle(new SolidBrush(GetColor(0)), myDec.X+startx , myRec.Y, width, 10);//以指定的色彩填充Bar图
            g.DrawString("01/01~02/28", new Font("黑体", 10), Brushes.Black, myDec.X + startx, myRec.Y);

            // 公司2 02/01~03/21
            tspan = Convert.ToDateTime("2009-02-01") - Convert.ToDateTime(mindate);
            startx = Convert.ToInt32(tspan.Days) * 10;
            tspan = Convert.ToDateTime("2009-03-21") - Convert.ToDateTime(mindate);
            width = Convert.ToInt32(tspan.Days) * 10 - startx;
            g.DrawRectangle(Pens.Black, myDec.X + startx, myRec.Y + hang, width, 10);//绘制Bar图
            g.FillRectangle(new SolidBrush(GetColor(1)), myDec.X + startx, myRec.Y + hang, width, 10);//以指定的色彩填充Bar图
            g.DrawString("02/01~03/21", new Font("黑体", 10), Brushes.Black, myDec.X + startx, myRec.Y + hang);

            // 公司3 01/13~02/02 02/12~03/04
            tspan = Convert.ToDateTime("2009-01-13") - Convert.ToDateTime(mindate);
            startx = Convert.ToInt32(tspan.Days) * 10;
            tspan = Convert.ToDateTime("2009-02-02") - Convert.ToDateTime(mindate);
            width = Convert.ToInt32(tspan.Days) * 10 - startx;
            g.DrawRectangle(Pens.Black, myDec.X + startx, myRec.Y + hang*2, width, 10);//绘制Bar图
            g.FillRectangle(new SolidBrush(GetColor(2)), myDec.X + startx, myRec.Y + hang * 2, width, 10);//以指定的色彩填充Bar图
            g.DrawString("01/13~02/02", new Font("黑体", 10), Brushes.Black, myDec.X + startx, myRec.Y + hang * 2);

            tspan = Convert.ToDateTime("2009-02-12") - Convert.ToDateTime(mindate);
            startx = Convert.ToInt32(tspan.Days) * 10;
            tspan = Convert.ToDateTime("2009-03-04") - Convert.ToDateTime(mindate);
            width = Convert.ToInt32(tspan.Days) * 10 - startx;
            g.DrawRectangle(Pens.Black, myDec.X + startx, myRec.Y + hang * 2, width, 10);//绘制Bar图
            g.FillRectangle(new SolidBrush(GetColor(2)), myDec.X + startx, myRec.Y + hang * 2, width, 10);//以指定的色彩填充Bar图
            g.DrawString("02/12~03/04", new Font("黑体", 10), Brushes.Black, myDec.X + startx, myRec.Y + hang * 2);



            //画图片的边框线
            g.DrawRectangle(new Pen(Color.Red), 0, 0, image.Width - 1, image.Height - 1);
            

            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
            Response.ClearContent();
            Response.ContentType = "image/Gif";
            Response.BinaryWrite(ms.ToArray());
        }
        finally
        {
            g.Dispose();
            image.Dispose();
        }
    }

    /// <summary>
    /// 获取颜色
    /// </summary>
    /// <param name="itemIndex">数组的索引</param>
    /// <returns></returns>
    private Color GetColor(int itemIndex)
    {
        Color myColor;
        int i = itemIndex;
        switch (i)
        {
            case 0:
                myColor = Color.LightGreen ;
                return myColor;
            case 1:
                myColor = Color.Pink ;
                return myColor;
            case 2:
                myColor = Color.LightYellow;
                return myColor;
            case 3:
                myColor = Color.LightBlue;
                return myColor;
            case 4:
                myColor = Color.Orange;
                return myColor;
            case 5:
                myColor = Color.Aqua;
                return myColor;
            case 6:
                myColor = Color.SkyBlue;
                return myColor;
            case 7:
                myColor = Color.DeepPink;
                return myColor;
            case 8:
                myColor = Color.Azure;
                return myColor;
            case 9:
                myColor = Color.Brown;
                return myColor;
            case 10:
                myColor = Color.Pink;
                return myColor;
            case 11:
                myColor = Color.BurlyWood;
                return myColor;
            case 12:
                myColor = Color.Chartreuse;
                return myColor;
            default:
                myColor = Color.Pink;
                return myColor;
        }
    }
}
--------------------编程问答-------------------- --------------------编程问答-------------------- 好长 --------------------编程问答-------------------- up --------------------编程问答-------------------- 额。。。。自己顶一下``` --------------------编程问答-------------------- 到http://www.developerfusion.com/tools/convert/csharp-to-vb/上看看
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,