Я пытаюсь написать простое приложение, которое печатает строку «перемещение» с определенной скоростью, я впервые использую C# и Windows для создания приложения, я нашел учебник, помогает мне рисовать линии и до сих пор я получил это:Обновите экран после рисования строки в C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;
using System.Drawing;
using System.Threading;
using System.Windows.Forms;
namespace ConsoleApplication1
{
class Program
{
[DllImport("User32.dll")]
static extern IntPtr GetDC(IntPtr hwnd);
static void draw(Rectangle r, Brush b, IntPtr hwnd)
{
using(Graphics g = Graphics.FromHdc(hwnd))
{
g.FillRectangle(b, r);
}
}
static void Main(string[] args)
{
int x = 0;
while (true)
{
draw(new Rectangle(x, 0, 50, 1080), Brushes.PaleGoldenrod, GetDC(IntPtr.Zero));
x++;
}
}
}
}
проблема заключается в том, что я не знаю, как удалить предыдущую строку, или просто обновить экран после рисования линии.
Любая помощь приветствуется.
Спасибо!
Короткий ответ, с помощью этого метода «рисования» вы этого не делаете. Эти линии стираются тем, что вы нарисовали сверху. Это может быть сам рабочий стол или другие окна приложений. Когда они перерисовываются, линии стираются. –
Спасибо за ответ, знаете ли вы метод, который я могу использовать для достижения этого? благодаря! – user2465233
Шаг первый: отбросьте учебник и очистите ссылку! Прочитайте событие Paint и Timer Tick – TaW