【发布时间】:2018-02-19 11:44:49
【问题描述】:
public partial class Form4 : Form
{
int x, y = 10;
Graphics g;
public Form4()
{
InitializeComponent();
}
private void Form4_Load(object sender, EventArgs e)
{
g = this.CreateGraphics();
System.Threading.Thread th = new System.Threading.Thread(threadmethod);
th.Start();
}
void threadmethod()
{
Timer t = new Timer();
t.Enabled = true;
t.Interval = 100;
t.Tick += T_Tick;
}
private void T_Tick(object sender, EventArgs e)
{
g.DrawRectangle(new Pen(Brushes.Blue), new Rectangle(x++, y++, 20, 20));
}
}
当此代码在没有线程的情况下运行时,矩形会被动画化。但是此代码中没有动画或绘制矩形。请让我知道我应该做出的改变
【问题讨论】:
-
你不知道如何做多线程不是你的错。但是 Stack Overflow 不再是学习任何东西的地方,除非它是一个简单的问题,具有明确定义的范围,能够提供简单的答案。您需要的是 C# 中的多线程教程,因此请尝试在 youtube 上搜索。或者上大学并支付自己的教育费用。
-
@PeterWone “但是 Stack Overflow 不是学习的地方,”我强烈反对。此外,我真的不明白反对意见。 “除非这是一个简单的问题,具有明确定义的范围,能够提供简单的答案。”看帖子。它拥有人们需要的一切。 1) 一个范围明确的简单问题。它具有重现问题的完整代码。只需按照要求复制粘贴即可。它本身就是Minimal, Complete, and Verifiable example
-
@PeterWone 和 2)“明确定义的范围,能够提供简单的答案。” => 答案相当简单。使用 360 个字符,您可以为这个问题写下一个合理的答案,而不是建议 OP“上大学并为自己的教育付费。”
-
@PeterWone 我在这里唯一同意你的一点是,这表明研究非常缺乏。确实如此。但是这个问题在这里既不是不合适的,也不是太宽泛了。
标签: c# .net multithreading timer