2
我想添加一個面板,當一個按鈕單擊。我的代碼在下面,我做到了。但現在我試圖把我的面板上的其他按鈕等,當你點擊第一個按鈕和麪板幻燈片中沒有任何我的新按鈕。在C中的動畫面板#
//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;
}
}
在photospanel中,我有三個圖片框。但是當面板顯示(滑入)圖片框時,不存在。
我不跟着你完全 - 你說,該小組已經在設計器中創建,但只有在您點擊按鈕之前不可見?如果是這樣,你確定其他控件是否真的包含在面板中? - 如果您在設計師中移動面板,那麼子控件是否隨其移動? –
是的。子控件隨面板一起移動。當我啓動應用程序時,可見面板爲false ...當您單擊按鈕時面板可見,但子控件不可見(帶動畫面板)。如果我只寫panel.Visible = true沒有動畫,它顯示我的子控件 – NickName
有趣。我對AnimateWindow api沒有什麼瞭解,但它似乎對WinForms不太好。你的動畫只是將它推入位置?如果是這樣,你不能寫你自己的.NET代碼來做到這一點嗎?你可以使用一個計時器來遞增地移動它的位置 - 對嗎? –