帮我看看这里哪里不对,那个timer.interval设置为多少合适?//开始
private void button1_Click(object sender, EventArgs e) {
timer1.Enabled = true;
}
//暂停
private void button2_Click(object sender, EventArgs e) {
timer1.Enabled =false;
} private void timer1_Tick(object sender, EventArgs e) {
r = Double.Parse(textBox1.Text);
h = Double.Parse(textBox2.Text);
w = Double.Parse(textBox3.Text);
δ0 = Double.Parse(textBox4.Text); δ0 = δ0 / 180 * pi;
δ1 = Double.Parse(textBox5.Text); δ1 = δ1 / 180 * pi;
δ2 = Double.Parse(textBox6.Text); δ2 = δ2 / 180 * pi;
δ3 = Double.Parse(textBox7.Text); δ3 = δ3 / 180 * pi;
//定义画笔
Graphics g1 = this.pictureBox1.CreateGraphics();
Graphics g2 = this.pictureBox2.CreateGraphics();
Graphics g3 = this.pictureBox3.CreateGraphics();
Graphics g4 = this.pictureBox4.CreateGraphics();
Pen p = new Pen(Color.Black, 1);
Pen p1 = new Pen(Color.Black, 2); //timer控件
timer1.Interval = 5000; int angle=1;
angle = angle + 1;
if (angle >= 360)
angle = 1;
for (i = 0; i <= 360; i++)
{
//推程
if ((i+angle) * pi / 180 < δ0)
{
if ("(1)一次多项式" == comboBox1.Text)
yc((i + angle) * pi / 180);
else if ("(2)二次多项式" == comboBox1.Text)
ec((i + angle) * pi / 180);
else if ("(3)五次多项式" == comboBox1.Text)
wc((i + angle) * pi / 180);
else if ("(4)余弦加速度" == comboBox1.Text)
yx((i + angle) * pi / 180);
else if ("(5)正弦加速度" == comboBox1.Text)
zx((i + angle) * pi / 180);
x1 = Convert.ToInt32((sva[0] + r) * Math.Sin((i + angle) * pi / 180));
y1 = Convert.ToInt32((sva[0] + r) * Math.Cos((i + angle) * pi / 180));
g1.DrawEllipse(p, 244 + x1, 160 - y1, 1, 1);
g2.DrawEllipse(p, Convert.ToInt32((i + angle) / 360 * 157 + 5), Convert.ToInt32(133 - sva[0] * 100 / h), 1, 1);
g3.DrawEllipse(p, Convert.ToInt32((i + angle) / 360 * 157 + 5), Convert.ToInt32(83 - sva[1] * 50 / (pi * h * w)), 1, 1);
g4.DrawEllipse(p, Convert.ToInt32((i + angle) / 360 * 157 + 5), Convert.ToInt32(83 - sva[2] * 50 / (pi * pi * h * w * w)), 1, 1);
}
//远休止
else if (δ0 <= ((i + angle) / 180 * pi) && ((i + angle) / 180 * pi) < (δ1 + δ0))
{
x1 = Convert.ToInt32((h + r) * Math.Sin((i + angle) / 180 * pi));
y1 = Convert.ToInt32((h + r) * Math.Cos((i + angle) / 180 * pi));
g1.DrawEllipse(p, 244 + x1, 160 - y1, 1, 1);
g2.DrawEllipse(p, Convert.ToInt32((i + angle) / 360 * 157 + 5), Convert.ToInt32(133 - sva[0] * 100 / h), 1, 1);
g3.DrawEllipse(p, Convert.ToInt32((i + angle) / 360 * 157 + 5), Convert.ToInt32(83 - sva[1] * 50 / (pi * h * w)), 1, 1);
g4.DrawEllipse(p, Convert.ToInt32((i + angle) / 360 * 157 + 5), Convert.ToInt32(83 - sva[2] * 50 / (pi * pi * h * w * w)), 1, 1);
}
//回程
else if ((δ0 + δ1) <= ((i + angle) / 180 * pi) && ((i + angle) / 180 * pi) < (δ0 + δ1 + δ2))
{
if ("(1)一次多项式" == comboBox2.Text)
hcyc((i + angle) * pi / 180 - δ0 - δ1);
else if ("(2)二次多项式" == comboBox2.Text)
hcec((i + angle) * pi / 180 - δ0 - δ1);
else if ("(3)五次多项式" == comboBox2.Text)
hcwc((i + angle) * pi / 180 - δ0 - δ1);
else if ("(4)余弦加速度" == comboBox2.Text)
hcyx((i + angle) * pi / 180 - δ0 - δ1);
else if ("(5)正弦加速度" == comboBox2.Text)
hczx((i + angle) * pi / 180 - δ0 - δ1); x1 = Convert.ToInt32((sva[0] + r) * Math.Sin((i + angle) * pi / 180));
y1 = Convert.ToInt32((sva[0] + r) * Math.Cos((i + angle) * pi / 180));
g1.DrawEllipse(p, 244 + x1, 160 - y1, 1, 1);
g2.DrawEllipse(p, Convert.ToInt32((i + angle) / 360 * 157 + 5), Convert.ToInt32(133 - sva[0] * 100 / h), 1, 1);
g3.DrawEllipse(p, Convert.ToInt32((i + angle) / 360 * 157 + 5), Convert.ToInt32(83 - sva[1] * 50 / (pi * h * w)), 1, 1);
g4.DrawEllipse(p, Convert.ToInt32((i + angle) / 360 * 157 + 5), Convert.ToInt32(83 - sva[2] * 50 / (pi * pi * h * w * w)), 1, 1);
}
//近休止
else
{
x1 = Convert.ToInt32(r * Math.Sin((i + angle) * pi / 180));
y1 = Convert.ToInt32(r * Math.Cos((i + angle) * pi / 180));
g1.DrawEllipse(p, 244 + x1, 160 - y1, 1, 1);
g2.DrawEllipse(p, Convert.ToInt32((i + angle) / 360 * 157 + 5), Convert.ToInt32(133 - sva[0] * 100 / h), 1, 1);
g3.DrawEllipse(p, Convert.ToInt32((i + angle) / 360 * 157 + 5), Convert.ToInt32(83 - sva[1] * 50 / (pi * h * w)), 1, 1);
g4.DrawEllipse(p, Convert.ToInt32((i + angle) / 360 * 157 + 5), Convert.ToInt32(83 - sva[2] * 50 / (pi * pi * h * w * w)), 1, 1);
}
} }
C#timer
private void button1_Click(object sender, EventArgs e) {
timer1.Enabled = true;
}
//暂停
private void button2_Click(object sender, EventArgs e) {
timer1.Enabled =false;
} private void timer1_Tick(object sender, EventArgs e) {
r = Double.Parse(textBox1.Text);
h = Double.Parse(textBox2.Text);
w = Double.Parse(textBox3.Text);
δ0 = Double.Parse(textBox4.Text); δ0 = δ0 / 180 * pi;
δ1 = Double.Parse(textBox5.Text); δ1 = δ1 / 180 * pi;
δ2 = Double.Parse(textBox6.Text); δ2 = δ2 / 180 * pi;
δ3 = Double.Parse(textBox7.Text); δ3 = δ3 / 180 * pi;
//定义画笔
Graphics g1 = this.pictureBox1.CreateGraphics();
Graphics g2 = this.pictureBox2.CreateGraphics();
Graphics g3 = this.pictureBox3.CreateGraphics();
Graphics g4 = this.pictureBox4.CreateGraphics();
Pen p = new Pen(Color.Black, 1);
Pen p1 = new Pen(Color.Black, 2); //timer控件
timer1.Interval = 5000; int angle=1;
angle = angle + 1;
if (angle >= 360)
angle = 1;
for (i = 0; i <= 360; i++)
{
//推程
if ((i+angle) * pi / 180 < δ0)
{
if ("(1)一次多项式" == comboBox1.Text)
yc((i + angle) * pi / 180);
else if ("(2)二次多项式" == comboBox1.Text)
ec((i + angle) * pi / 180);
else if ("(3)五次多项式" == comboBox1.Text)
wc((i + angle) * pi / 180);
else if ("(4)余弦加速度" == comboBox1.Text)
yx((i + angle) * pi / 180);
else if ("(5)正弦加速度" == comboBox1.Text)
zx((i + angle) * pi / 180);
x1 = Convert.ToInt32((sva[0] + r) * Math.Sin((i + angle) * pi / 180));
y1 = Convert.ToInt32((sva[0] + r) * Math.Cos((i + angle) * pi / 180));
g1.DrawEllipse(p, 244 + x1, 160 - y1, 1, 1);
g2.DrawEllipse(p, Convert.ToInt32((i + angle) / 360 * 157 + 5), Convert.ToInt32(133 - sva[0] * 100 / h), 1, 1);
g3.DrawEllipse(p, Convert.ToInt32((i + angle) / 360 * 157 + 5), Convert.ToInt32(83 - sva[1] * 50 / (pi * h * w)), 1, 1);
g4.DrawEllipse(p, Convert.ToInt32((i + angle) / 360 * 157 + 5), Convert.ToInt32(83 - sva[2] * 50 / (pi * pi * h * w * w)), 1, 1);
}
//远休止
else if (δ0 <= ((i + angle) / 180 * pi) && ((i + angle) / 180 * pi) < (δ1 + δ0))
{
x1 = Convert.ToInt32((h + r) * Math.Sin((i + angle) / 180 * pi));
y1 = Convert.ToInt32((h + r) * Math.Cos((i + angle) / 180 * pi));
g1.DrawEllipse(p, 244 + x1, 160 - y1, 1, 1);
g2.DrawEllipse(p, Convert.ToInt32((i + angle) / 360 * 157 + 5), Convert.ToInt32(133 - sva[0] * 100 / h), 1, 1);
g3.DrawEllipse(p, Convert.ToInt32((i + angle) / 360 * 157 + 5), Convert.ToInt32(83 - sva[1] * 50 / (pi * h * w)), 1, 1);
g4.DrawEllipse(p, Convert.ToInt32((i + angle) / 360 * 157 + 5), Convert.ToInt32(83 - sva[2] * 50 / (pi * pi * h * w * w)), 1, 1);
}
//回程
else if ((δ0 + δ1) <= ((i + angle) / 180 * pi) && ((i + angle) / 180 * pi) < (δ0 + δ1 + δ2))
{
if ("(1)一次多项式" == comboBox2.Text)
hcyc((i + angle) * pi / 180 - δ0 - δ1);
else if ("(2)二次多项式" == comboBox2.Text)
hcec((i + angle) * pi / 180 - δ0 - δ1);
else if ("(3)五次多项式" == comboBox2.Text)
hcwc((i + angle) * pi / 180 - δ0 - δ1);
else if ("(4)余弦加速度" == comboBox2.Text)
hcyx((i + angle) * pi / 180 - δ0 - δ1);
else if ("(5)正弦加速度" == comboBox2.Text)
hczx((i + angle) * pi / 180 - δ0 - δ1); x1 = Convert.ToInt32((sva[0] + r) * Math.Sin((i + angle) * pi / 180));
y1 = Convert.ToInt32((sva[0] + r) * Math.Cos((i + angle) * pi / 180));
g1.DrawEllipse(p, 244 + x1, 160 - y1, 1, 1);
g2.DrawEllipse(p, Convert.ToInt32((i + angle) / 360 * 157 + 5), Convert.ToInt32(133 - sva[0] * 100 / h), 1, 1);
g3.DrawEllipse(p, Convert.ToInt32((i + angle) / 360 * 157 + 5), Convert.ToInt32(83 - sva[1] * 50 / (pi * h * w)), 1, 1);
g4.DrawEllipse(p, Convert.ToInt32((i + angle) / 360 * 157 + 5), Convert.ToInt32(83 - sva[2] * 50 / (pi * pi * h * w * w)), 1, 1);
}
//近休止
else
{
x1 = Convert.ToInt32(r * Math.Sin((i + angle) * pi / 180));
y1 = Convert.ToInt32(r * Math.Cos((i + angle) * pi / 180));
g1.DrawEllipse(p, 244 + x1, 160 - y1, 1, 1);
g2.DrawEllipse(p, Convert.ToInt32((i + angle) / 360 * 157 + 5), Convert.ToInt32(133 - sva[0] * 100 / h), 1, 1);
g3.DrawEllipse(p, Convert.ToInt32((i + angle) / 360 * 157 + 5), Convert.ToInt32(83 - sva[1] * 50 / (pi * h * w)), 1, 1);
g4.DrawEllipse(p, Convert.ToInt32((i + angle) / 360 * 157 + 5), Convert.ToInt32(83 - sva[2] * 50 / (pi * pi * h * w * w)), 1, 1);
}
} }
C#timer
解决方案 »
- 如何控制多个图片框(C#语言)
- gridview 中checkbox选取行的索引值,出错!Index was out of range.
- 请问如何在FORM2中改变FORM1中的LISTBOX的内容?
- 高分求救!网页播放器,播放地址问题!
- 求一Sql语句?
- 求c#写的sql server2000数据库连接池代码
- 水晶报表数据1条但怎么也有二页的?
- 在winform窗体中如何定义SQL连接的全局变量???
- 求救:前几天在论坛上面看到一位兄弟写一篇关于向领导建议采用.NET解决方案的文章,现在找不到了
- 请问!FOR循环不能中断和continue了。
- 如何获得已经打开的excel文件的文件路径,文件名
- 将指定的值替换数组的指定位置
2.将画图部分放到 pictureBox1的Paint事件处理程序中将两个逻辑分清楚更好