C#实现动态数据绘图graphic的方法示例
来源:本站原创|时间:2020-01-10|栏目:C#教程|点击: 次
本文实例讲述了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(); } } }
截图
更多关于C#相关内容感兴趣的读者可查看本站专题:《C#图片操作技巧汇总》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#面向对象程序设计入门教程》及《C#程序设计之线程使用技巧总结》
希望本文所述对大家C#程序设计有所帮助。
您可能感兴趣的文章
- 01-10C#实现txt定位指定行完整实例
- 01-10WinForm实现仿视频播放器左下角滚动新闻效果的方法
- 01-10C#实现清空回收站的方法
- 01-10C#实现读取注册表监控当前操作系统已安装软件变化的方法
- 01-10C#实现多线程下载文件的方法
- 01-10C#实现Winform中打开网页页面的方法
- 01-10C#实现远程关闭计算机或重启计算机的方法
- 01-10C#自定义签名章实现方法
- 01-10C#文件断点续传实现方法
- 01-10winform实现创建最前端窗体的方法
阅读排行
本栏相关
- 01-10C#通过反射获取当前工程中所有窗体并
- 01-10关于ASP网页无法打开的解决方案
- 01-10WinForm限制窗体不能移到屏幕外的方法
- 01-10WinForm绘制圆角的方法
- 01-10C#实现txt定位指定行完整实例
- 01-10WinForm实现仿视频播放器左下角滚动新
- 01-10C#停止线程的方法
- 01-10C#实现清空回收站的方法
- 01-10C#通过重写Panel改变边框颜色与宽度的
- 01-10C#实现读取注册表监控当前操作系统已
随机阅读
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 01-10SublimeText编译C开发环境设置
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 04-02jquery与jsp,用jquery
- 01-10C#中split用法实例总结
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 01-11ajax实现页面的局部加载
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-10delphi制作wav文件的方法