代码之家  ›  专栏  ›  技术社区  ›  brovar

WinForms-调整大小事件后的操作

  •  12
  • brovar  · 技术社区  · 16 年前

    是否可以执行特定操作 之后 (用户控件的)调整大小事件,例如释放鼠标按钮时?我需要手动调整一个内部控件的大小,在每次触发事件时都这样做会非常,嗯,效率低下。。。

    3 回复  |  直到 16 年前
        1
  •  15
  •   djdd87    16 年前

    ResizeEnd

    private void Form1_ResizeEnd(object sender, EventArgs e)
    {
       // Your code here
    }
    

    来自MSDN:

    当 用户完成窗体的大小调整, 通常通过拖动 然后释放它。更多 有关调整大小的信息 操作。

        2
  •  2
  •   Wolf5    11 年前

    您可以像这样伪造本地ResizeEnd:

    public class Dummy:UserControl
    {
    
        private readonly Timer _tDelayedResize;
    
        public Dummy()
        {
            this.Resize += this_Resize;
            _tDelayedResize = new Timer();
            _tDelayedResize.Interval = 5;
            _tDelayedResize.Tick += this_ResizeEnd;
        }
    
        void this_Resize(object sender, EventArgs e)
        {
            _tDelayedResize.Stop();
            _tDelayedResize.Start();
        }
    
        void this_ResizeEnd(object sender, EventArgs e)
        {
            _tDelayedResize.Stop();
    
            //Do your ResizeEnd logic here
            //...
        }
    
    }
    

        3
  •  0
  •   Jehof    16 年前

    也许你可以用 SizeChanged 事件。但我不知道多久或何时调用它在调整大小。