我需要将窗口移动到不同的位置,但我不想让它在当前位置消失并出现在所需位置。我使用while循环来通过增加其y坐标来移动窗口一个像素,但是可能已经在.NET中为这些类型的动画实现了一些实现的方法。此外,我希望能够设置动画的持续时间。这种动画在.NET中有什么方法吗?这就是我实现窗口移动的方式:
while (window.Location.Y != newY)
{
window.Location = new Point(window.Location.X, window.Location.Y + 1);
}
答案 0 :(得分:1)
嗨andrej你可以试试WinForms。
IntPtr ID;
int counter = 0;//index to move window
public Form1()
{
InitializeComponent();
ID = this.Handle; //get handle of form
}
[DllImport("user32.dll", SetLastError = true)]
internal static extern bool MoveWindow(IntPtr hWnd, int X, int Y, int nWidth, int nHeight, bool bRepaint);
//place a timer and in his tick event...
//and choose the interval of the tick.
private void timer1_Tick(object sender, EventArgs e)
{
if (counter <= Screen.PrimaryScreen.Bounds.Right)
MoveWindow(ID, counter++, 0, this.Width, this.Height, true);
else
counter = 0;
}
或没有PInvoke
int counter = 0;//index to move window
public Form1()
{
InitializeComponent();
}
//place a timer and in his tick event...
//and choose the interval of the tick.
private void timer1_Tick(object sender, EventArgs e)
{
if (counter <= Screen.PrimaryScreen.Bounds.Right)
this.Location = new Point(counter++, 0);
else
counter = 0;
}
这个例子只是沿着X坐标移动窗口,你可以用坐标来玩。
答案 1 :(得分:0)
几个问题: - 你指的是什么窗口? - 这是什么类型的应用程序?的WinForms?网络应用?别的什么?
如果是网络,请在客户端进行。使用jQuery。