滑动面板的可见性不起作用/延迟油漆问题



面板 p2 直到面板 1 的宽度为 0 时才显示。 但是,如果我取消注释消息框代码,则当消息框出现时,p2 会呈现。 这让我认为 C# 本机会延迟 p2 上的重绘,直到其他一些事件(例如,messageBox)强制 UI 绘制。

我该如何解决这个问题?

    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;
    }

p2.刷新()。 这就是你在早上 6:00 编写代码时发生的情况。 :-|

最新更新