0
面板p2直到面板1的寬度爲0才顯示。但是,如果我取消註釋messageBox代碼,則p2會在出現messageBox時呈現。這導致我認爲C#本身會延遲對p2的重繪,直到某些強制UI繪畫的其他事件(例如messageBox)。滑動面板不可見/延遲塗料問題?
我該如何解決這個問題?
private void SlidePanel(UIPanel p, UIPanel p2) //, Direction d)
{
int prevWidth = p.Width;
PanelDockStyle prevDock = p.DockStyle;
p.DockStyle = PanelDockStyle.Left;
p2.Show();
while (p.Width > 0)
{
p.Width -= (p.Width > 4 ? 4 : p.Width);
Thread.Sleep(1);
//if (p.Width < 400)
//{
// MessageBox.Show("Ha");
// break;
//}
}
p.Hide();
p.DockStyle = prevDock;
p.Width = prevWidth;
}
就是這樣,當你在下午2:00不瞭解UI調度器循環時會發生什麼:) –