Vb.net 在VB中移动矩形?

Vb.net 在VB中移动矩形?,vb.net,animation,graphics,Vb.net,Animation,Graphics,根据我的理解和经验,VB.NET在表单中将图形从点A移动到点B时表现不佳 如何绘制矩形或直线并将其从点a移动到点B 有没有一种可靠的方法可以做到这一点,而不必在每一帧上都看到运动对象周围的黑色矩形?我以前在位图上试过,但不起作用。我看到了帧渲染,这是一种缓慢的方式 也许有一个动画控件或库 谢谢。您可以使用WPF。即使使用WinForms,也可以先使用ElementHost控件与WPF用户控件进行互操作,我不会责怪VB.Net。C#和VB.Net都使用相同的图形api(GDI+)。这是我找到的一个

根据我的理解和经验,VB.NET在表单中将图形从点A移动到点B时表现不佳

如何绘制矩形或直线并将其从点a移动到点B

有没有一种可靠的方法可以做到这一点,而不必在每一帧上都看到运动对象周围的黑色矩形?我以前在位图上试过,但不起作用。我看到了帧渲染,这是一种缓慢的方式

也许有一个动画控件或库


谢谢。

您可以使用WPF。即使使用WinForms,也可以先使用ElementHost控件与WPF用户控件进行互操作,我不会责怪VB.Net。C#和VB.Net都使用相同的图形api(GDI+)。这是我找到的一个例子,我相信它会帮助你理解需要做什么


这里我不打算提供一个完整的例子,因为我更习惯于C#,但这里有一些伪代码来说明我是如何做到这一点的

function paint()
    draw line (x, y, x + xEnd, y + yEnd)      // Use the graphics object here.
end

function update()
    update x
    update y
end
必须调用某些内容,无论是在每一帧还是在每次发生事件时(按键等)。这将分别更新线的x坐标和y坐标。GDI+将用于绘制线条,换句话说,内置的图形库对于简单的图形已经足够了


这可以通过使用矢量(2D)来表示线坐标而不是单个x和y坐标的标准数据类型来改进。

+1。我想你是对的。GDI+有哪些替代方案?有没有实现DirectX的方法,或者说实现的方向是正确的?你可以从VB.Net中使用DirectX,但我自己从来没有这样做过。WPF是另一种选择-。如果你用c#发布,我将不胜感激。我有足够的一般编程经验,可以从那里解决这个问题。