gpt4 book ai didi

c# - C# 中的动画面板

转载 作者:行者123 更新时间:2023-11-30 14:09:46 25 4
gpt4 key购买 nike

我正在尝试在单击按钮时添加一个面板。我的代码在下面,我做到了。但是现在我正尝试在我的面板上放置其他按钮等,当您单击第一个按钮并且面板滑入时,没有任何新按钮。

//Constants
const int AW_SLIDE = 0X40000;
const int AW_HOR_POSITIVE = 0X1;
const int AW_HOR_NEGATIVE = 0X2;
const int AW_BLEND = 0X80000;

[DllImport("user32")]

static extern bool AnimateWindow(IntPtr hwnd, int time, int flags);
photosflag=0;

private void photosbutton_Click(object sender, EventArgs e)
{
if (photosflag == 0)
{
object O = Controller.Properties.Resources.ResourceManager.GetObject("photospressed");
photosbutton.Image = (System.Drawing.Image)O;
photosflag = 1;
int ylocation = photosbutton.Location.Y;
//Set the Location
photospanel.Location = new Point(101, ylocation);

//Animate form
AnimateWindow(photospanel.Handle, 500, AW_SLIDE | AW_HOR_POSITIVE);


}
else
{
object O = Controller.Properties.Resources.ResourceManager.GetObject("photos");
photosbutton.Image = (System.Drawing.Image)O;
photosflag = 0;
photospanel.Visible = false;

}


}

在照片面板中,我有三个图片框。但是当面板出现(滑入)时,图片框不存在。

最佳答案

好的 - 这是一个不依赖于 AnimateWindow API 的非常简单的示例:

向您的表单添加一个计时器控件。在我身上,我将间隔设置为 10(毫秒)。您可以根据需要使用此值来平滑动画

我在表单上有按钮和面板(不可见)

我在表单上声明了以下私有(private)成员 - 它们是面板的起始 X 位置、结束位置和每次增量移动的像素数 - 再次调整以影响速度/平滑度/等

private int _startLeft = -200;  // start position of the panel
private int _endLeft = 10; // end position of the panel
private int _stepSize = 10; // pixels to move

然后点击按钮,我启用计时器:

animationTimer.Enabled = true;

最后,计时器滴答事件中的代码使面板可见,将其移动到位,并在完成后自行禁用:

private void animationTimer_Tick(object sender, EventArgs e)
{
// if just starting, move to start location and make visible
if (!photosPanel.Visible)
{
photosPanel.Left = _startLeft;
photosPanel.Visible = true;
}

// incrementally move
photosPanel.Left += _stepSize;
// make sure we didn't over shoot
if (photosPanel.Left > _endLeft) photosPanel.Left = _endLeft;

// have we arrived?
if (photosPanel.Left == _endLeft)
{
animationTimer.Enabled = false;
}
}

关于c# - C# 中的动画面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27724835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com