C# 锁定纵横比会导致窗口闪烁
我正在处理一个应用程序,它要求我强制主窗口具有锁定的纵横比。我找到了这个片段。它可以工作,但窗口在重新调整大小时会闪烁C# 锁定纵横比会导致窗口闪烁,c#,winforms,resize,aspect-ratio,window-resize,C#,Winforms,Resize,Aspect Ratio,Window Resize,我正在处理一个应用程序,它要求我强制主窗口具有锁定的纵横比。我找到了这个片段。它可以工作,但窗口在重新调整大小时会闪烁 float _currentRatio; bool _lockRatio=false; public bool LockRatio { get{ return _lockRatio; } set{ _lockRatio=value; } } protected override void OnSizeChanged(EventArgs e) { if
float _currentRatio;
bool _lockRatio=false;
public bool LockRatio
{
get{ return _lockRatio; }
set{ _lockRatio=value; }
}
protected override void OnSizeChanged(EventArgs e)
{
if(!_lockRatio)
this._currentRatio=(float)this.Height/(float)this.Width;
else
this.Height=(int)(this.Width*this._currentRatio);
base.OnSizeChanged (e);
}
有没有办法避免这种闪烁?试试。基本上,使用
WndProc
而不是.NET事件(大小更改后ocurr)将其作为答案,我接受它,因为它工作得非常完美!