GDI+画实时曲线的问题 只能是int的值至于从原点开始,是因为屏幕的左上角是(0,0)点 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的数组放在timer里面定义肯定不对了,每次都定义新的数组,只赋了一个值,其他都是(0,0),放到外面去就可以了 很简单呀,虽然不知道你做的是什么,但是问题原因能猜个八九不离十的,你每次timer1_Tick事件中都重新new 一个point,每次都是0,0开始了,你把它设置为全局变量就ok了 Graphics qs = pictureBox1.CreateGraphics();或者Point[]Point = new Point[40000];//定义数组放在外面试试看 把数组定义为全局变量后,每次变化的X.Y点能连接起来了。可是还是会画个0.0到XY的值线。timer1_Tick中tem++每次都是增加的,怎么会出来个0.0。 高手指教啊 Graphics qs = pictureBox1.CreateGraphics();无法放到外面 不需要高手,楼主问的都是很基础的问题,你对基本的变量作用域和初始化都还没有理解,需要把基础好好补补了,按照你的写法, Point[]Point = new Point[40000];放在timer触发事件里面,在不停的分配新内存,不停的从第0个位置写入一个新的位置,所以你每次画的都是从(0,0)到你新生成的这个点。而且这里也没有必要使用DrawLines方法不停的从头画一遍,使用DrawLine方法累计往下画就行。废话不多说,看代码public partial class Form1 : Form { public Form1() { InitializeComponent(); g = this.panel_Canvas.CreateGraphics();//放构造函数或者btn_Start_Click里面都可以 } int x, y; Graphics g = null; List<Point> pList = new List<Point>();//数组有界,这里更应该使用List private void timer_Draw_Tick(object sender, EventArgs e) { Random r = new Random(); x = r.Next(0, panel_Canvas.Width); y = r.Next(1, panel_Canvas.Height); pList.Add(new Point(x, y)); Pen redPen = new Pen(Brushes.Red); if (pList.Count > 1) { //这一句你应该能理解是什么意思 g.DrawLine(redPen, pList[pList.Count - 2], pList[pList.Count -1]); } } private void btn_Start_Click(object sender, EventArgs e) { timer_Draw.Enabled = true; } } Winfrom 拖动Panel滚动条同时 里面的控件不随滚动条一起移动,怎么解决啊? 如何保存颜色,然后在加载颜色 请问如何打印FORM 如下限制文件下载 在使用VS2003 或者#DEVELOP 编译#c 工程为dll的时候出现“超出编译器限制: 行不能超过2046个字符”如何解决 access数据库的打开和关闭问题 求助!! 想学XML+VS.net编程,各位大哥指点基本入门级的书,再此谢了 读取指定文件内的文本文件然后写入数据库 在多线程里面初始化的实例,如何在主线程里面判断是不是null ? wiresharke 抓包 socket tcp 通信遇到问题 验证码是asp的,如何获取
或者
Point[]Point = new Point[40000];//定义数组
放在外面试试看
把数组定义为全局变量后,每次变化的X.Y点能连接起来了。可是还是会画个0.0到XY的值线。timer1_Tick中tem++每次都是增加的,怎么会出来个0.0。
无法放到外面
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
g = this.panel_Canvas.CreateGraphics();//放构造函数或者btn_Start_Click里面都可以
} int x, y;
Graphics g = null;
List<Point> pList = new List<Point>();//数组有界,这里更应该使用List private void timer_Draw_Tick(object sender, EventArgs e) {
Random r = new Random();
x = r.Next(0, panel_Canvas.Width);
y = r.Next(1, panel_Canvas.Height);
pList.Add(new Point(x, y));
Pen redPen = new Pen(Brushes.Red);
if (pList.Count > 1) {
//这一句你应该能理解是什么意思
g.DrawLine(redPen, pList[pList.Count - 2], pList[pList.Count -1]); }
} private void btn_Start_Click(object sender, EventArgs e) {
timer_Draw.Enabled = true;
}
}