C#動態資料繪圖graphic的實現方法介紹

來源:互聯網
上載者:User
這篇文章主要介紹了C#實現動態資料繪圖graphic的方法,結合執行個體形式分析了C#根據動態資料繪製2D資料表格的相關操作技巧,需要的朋友可以參考下

本文執行個體講述了C#實現動態資料繪圖graphic的方法。分享給大家供大家參考,具體如下:


using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Drawing.Drawing2D;namespace Drawing{  public partial class Form1 : Form  {    public Form1()    {      InitializeComponent();    }    private int WidthAdded = 0;    private int HeightAdded = 0;    private int Added_Value = 15;    private int Incremented = 3;    private double Width_Max = 0.0f;    private double Height_Max = 0f;    private string hstrlink;    private string vstrlink;    private const int hor_kedu=17;    private const int ver_kedu = 13;    private double HelpRdm = 0;    private void Form1_Load(object sender, EventArgs e)    {      Width_Max=Convert.ToDouble(panel.ClientSize.Width);      Height_Max = Convert.ToDouble(panel.ClientSize.Height);      BtnStatusInfoForb();    }    private void button1_Click(object sender, EventArgs e)    {      Graphics myGraphics_framwork;      Pen myPen = new Pen(Color.Blue, 0.25f);      myGraphics_framwork = panel.CreateGraphics();      for (int Increment = 0; Increment < panel.Height; Increment += Incremented)      {        myGraphics_framwork.DrawLine(myPen, 0, HeightAdded, panel.ClientSize.Width, HeightAdded);        HeightAdded = HeightAdded + Added_Value;      }      for (int Increment = 0; Increment < panel.Height; Increment += Incremented)      {        myGraphics_framwork.DrawLine(myPen, WidthAdded, 0, WidthAdded, panel.ClientSize.Height);        WidthAdded = WidthAdded + Added_Value;      }      myGraphics_framwork.Dispose();      for (int hstart = 0; hstart < Width_Max; hstart += hor_kedu)      {        hstrlink = hstrlink + hstart.ToString() + "-";      }      label2.Text = hstrlink;      for (int start = (int)Height_Max; start > 0; start -= ver_kedu)      {        vstrlink = vstrlink + start.ToString() + "-" + "\n";      }      label3.Text = vstrlink + "0-";      BtnStatusInfoActi();      button1.Enabled = false;    }    private void BtnStatusInfoForb()    {      button2.Enabled = false;      button3.Enabled = false;      button4.Enabled = false;      trackBar1.Enabled = false;      Rec_NumBox.Enabled = false;    }    private void BtnStatusInfoActi()    {      button2.Enabled = true;      button3.Enabled = true;      button4.Enabled = true;      trackBar1.Enabled = true;      Rec_NumBox.Enabled = true;    }    private void myfun()    {      Graphics myGraphics = panel.CreateGraphics();      Font myFont = new Font("Times New Roman", 72, FontStyle.Italic);      Point startPoint = new Point(0, 0);      Point endPoint = new Point(30, 30);      LinearGradientBrush myBrush = new LinearGradientBrush(startPoint, endPoint, Color.Black, Color.Yellow);      myBrush.WrapMode = WrapMode.TileFlipXY;      myGraphics.DrawString("String", myFont, myBrush, 0, 0);    }    private void button2_Click(object sender, EventArgs e)    {      if (ParaBox1.Text == null)      {        MessageBox.Show("請輸入矩形的高度");      }      else      {        try        {          Graphics myGraphics_Rectangle = panel.CreateGraphics();          Pen myPen_Rec = new Pen(Color.Red, 3);          Rectangle rect = new Rectangle();          rect.X = 20; rect.Y = panel.ClientSize.Height - Convert.ToInt32(ParaBox1.Text);          rect.Width = 20; rect.Height = panel.ClientSize.Height;          myGraphics_Rectangle = panel.CreateGraphics();          myGraphics_Rectangle.DrawRectangle(myPen_Rec, rect);          SolidBrush MyRectBrush = new SolidBrush(Color.Purple);          myGraphics_Rectangle.FillRectangle(MyRectBrush, rect);          myGraphics_Rectangle.Dispose();        }        catch (Exception Excp)        {          MessageBox.Show(Excp.Message);        }      }    }    /// <summary>    ///    /// </summary>    /// <param name="sender"></param>    /// <param name="e"></param>    private void button3_Click(object sender, EventArgs e)    {      Graphics myGraphics_Rectangle = panel.CreateGraphics();      if (Rec_NumBox == null)      {        MessageBox.Show("請輸入你要繪製的矩形數量");      }      else      {        double count = Convert.ToInt32(Rec_NumBox.Text);        double TableSpace = (1 * Width_Max) / (4 * count);        double TableWidth = (3 * Width_Max) / (4 * count);        double RecOffset = TableWidth + TableSpace;//        Pen myPen_Rec = new Pen(Color.Red, 3);        for (long RectNum = 0; RectNum < count; RectNum++)        {          Random Radom = new Random();          System.Threading.Thread.Sleep(20);          double RandomHegiht =Radom.Next(0, Convert.ToInt32(Height_Max));          Rectangle rect = new Rectangle();          rect.X =Convert.ToInt32(RectNum*RecOffset);          rect.Y = Convert.ToInt32(panel.ClientSize.Height - RandomHegiht);          rect.Width = Convert.ToInt32(TableWidth);          rect.Height = panel.ClientSize.Height;          myGraphics_Rectangle = panel.CreateGraphics();          myGraphics_Rectangle.DrawRectangle(myPen_Rec, rect);          SolidBrush MyRectBrush = new SolidBrush(Color.Green);          myGraphics_Rectangle.FillRectangle(MyRectBrush, rect);        }      myGraphics_Rectangle.Dispose();      }      Rec_NumBox.Text = Added_Value.ToString();      Added_Value = Added_Value+50;    }    private void button4_Click(object sender, EventArgs e)    {      StringFormat sf=new StringFormat();      sf.Alignment = StringAlignment.Near;      Graphics myGraphics = panel.CreateGraphics();      RectangleF REf = new RectangleF(12, 30, 8, 38);      Font myFont = new Font("Times New Roman", 62, FontStyle.Italic);      Point startPoint = new Point(0, 0);      Point endPoint = new Point(30, 30);      LinearGradientBrush myBrush = new LinearGradientBrush(startPoint, endPoint, Color.Green, Color.Blue);      SolidBrush MyRectBrush = new SolidBrush(Color.Purple);      myBrush.WrapMode = WrapMode.TileFlipXY;      myGraphics.DrawString("b2spirit", myFont, myBrush, 0, 0);      Random r=new Random();      int temp=r.Next(10,300);      myGraphics.DrawString(temp.ToString(), myFont, MyRectBrush, REf, sf);    }    private void trackBar1_Scroll(object sender, EventArgs e)    {      TrackBar myTB=new TrackBar();      myTB=(TrackBar)sender;      Rec_NumBox.Text = myTB.Value.ToString();    }  }}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.