Control.Layout 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在控件应重新定位其子控件时发生。
public:
event System::Windows::Forms::LayoutEventHandler ^ Layout;
public event System.Windows.Forms.LayoutEventHandler Layout;
public event System.Windows.Forms.LayoutEventHandler? Layout;
member this.Layout : System.Windows.Forms.LayoutEventHandler
Public Custom Event Layout As LayoutEventHandler
事件类型
示例
下面的代码示例将 居 Form 中位于 事件中的 Layout 屏幕上。 这会在用户调整窗体大小时保持窗体居中。 此示例要求你已创建控件 Form 。
private:
void MyForm_Layout( Object^ /*sender*/, System::Windows::Forms::LayoutEventArgs^ /*e*/ )
{
// Center the Form on the user's screen everytime it requires a Layout.
this->SetBounds( (Screen::GetBounds( this ).Width / 2) - (this->Width / 2), (Screen::GetBounds( this ).Height / 2) - (this->Height / 2), this->Width, this->Height, BoundsSpecified::Location );
}
private void MyForm_Layout(object sender, System.Windows.Forms.LayoutEventArgs e)
{
// Center the Form on the user's screen everytime it requires a Layout.
this.SetBounds((Screen.GetBounds(this).Width/2) - (this.Width/2),
(Screen.GetBounds(this).Height/2) - (this.Height/2),
this.Width, this.Height, BoundsSpecified.Location);
}
Private Sub MyForm_Layout(ByVal sender As Object, _
ByVal e As System.Windows.Forms.LayoutEventArgs) Handles MyBase.Layout
' Center the Form on the user's screen everytime it requires a Layout.
Me.SetBounds((System.Windows.Forms.Screen.GetBounds(Me).Width / 2) - (Me.Width / 2), _
(System.Windows.Forms.Screen.GetBounds(Me).Height / 2) - (Me.Height / 2), _
Me.Width, Me.Height, System.Windows.Forms.BoundsSpecified.Location)
End Sub
注解
当 Layout 添加或删除子控件、控件边界更改以及发生可能影响控件布局的其他更改时,将发生 该事件。 可以使用 和 ResumeLayout 方法禁止显示SuspendLayout布局事件。 暂停布局使你能够在控件上执行多个操作,而无需对每次更改执行布局。 例如,如果调整控件的大小并移动控件,则每个操作都会引发一个 Layout 事件。
有关处理事件的详细信息,请参阅 处理和引发事件。