#c# #windows #panel #slidingdrawer
#c# #Windows #панель #slidingdrawer
Вопрос:
Я хочу изменить свою начальную верхнюю левую точку панели, которая является основной начальной точкой панелей, на верхнюю правую начальную точку. Другими словами, я хочу обратить все вспять. объект Timer вызывает событие каждые 30 миллисекунд. и он отображает панель и изменяет ее ширину с 0 до 140. его высота неизменна.
private void SettingButton_Click(object sender, EventArgs e)
{
settingPanel.AutoScrollPosition = new Point(699, 77);
settingPanel.Visible = (settingPanel.Visible ? false : true);
settingPanel.Size = (settingPanel.Visible ? new Size(0, 355) : new Size(140, 355));
slidingTimer.Start();
}
private void SlidingTimer_Tick(object sender, EventArgs e)
{
if (settingPanel.Visible)
{
if (settingPanel.Width <= 140)
{
settingPanel.Width = 20;
this.Refresh();
}
else
{
slidingTimer.Stop();
}
}
}
Комментарии:
1. Вам нужно было изменить
Location = new Point(x, y)
?2. Другими словами, я хочу изменить это , вы действительно не можете этого сделать, но совершенно неясно, чего вы на самом деле хотите достичь. Изменить местоположение и создать эффект скольжения? просто сделайте это. Обратите внимание, что вам придется изменить свойство Left, а не X! Однако вы не можете изменить элемент управления, чтобы отобразить искаженное содержимое. Однако вы можете изменить графический объект, чтобы отобразить искаженное графическое содержимое. — Рассмотрите возможность изменения элемента управления. Ограничивает свойство для уменьшения мерцания..