好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C#实现动态数据绘图graphic的方法示例

本文实例讲述了c#实现动态数据绘图graphic的方法。分享给大家供大家参考,具体如下:

?

using system;

using system.collections.generic;

using system测试数据ponentmodel;

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();

     }

   }

}

截图

希望本文所述对大家c#程序设计有所帮助。

原文链接:http://blog.csdn.net/microzone/article/details/16903943

dy("nrwz");

查看更多关于C#实现动态数据绘图graphic的方法示例的详细内容...

  阅读:47次