Изменение начальной точки панели в WinForm C#

#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! Однако вы не можете изменить элемент управления, чтобы отобразить искаженное содержимое. Однако вы можете изменить графический объект, чтобы отобразить искаженное графическое содержимое. — Рассмотрите возможность изменения элемента управления. Ограничивает свойство для уменьшения мерцания..