Я пытаюсь добавить панель при нажатии кнопки. Мой код ниже, и я сделал это. Но теперь я пытаюсь наложить на свою панель другие кнопки и т. Д., И когда вы нажимаете на первую кнопку, и панель слайдов не содержит никаких новых кнопок.Анимированная панель в 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;
}
}
В фотосъемке у меня есть три фотобумаги. Но когда панель появляется (покачивается), то фотокамер там не существует.
Я не за тобой целиком - ты говоришь, что панель уже созданный в дизайнере, но просто не отображается, пока вы не нажмете кнопку? Если да, уверены ли вы, что другие элементы управления действительно содержатся в панели? - Если вы перемещаете панель в дизайнере, выполняйте ли подэлементы с ней? –
Да. Суб-элементы управления перемещаются с помощью панели. Когда я запускаю приложение, панель видима ложно ... Когда вы нажимаете кнопку, панель видна, но суб-элементы управления не видны (с анимированной панелью). Если я просто напишу panel.Visible = true без анимированного, это покажет мне суб-элементы управления – NickName
Интересно. Я ничего не знаю об анимировании AnimateWindow, но, похоже, с WinForms он не очень хорошо играет. Ваша анимация просто сдвигает ее на место? Если да, не могли бы вы написать свой собственный код .NET для этого? Вы можете использовать таймер для постепенного перемещения его в положение - правильно? –