gpt4 book ai didi

.net - 相当于"ResizeEnd"用户控件

转载 作者:行者123 更新时间:2023-12-04 04:08:31 32 4
gpt4 key购买 nike

我正在写一个UserControl。我想在调整大小后绘制用户控件。我找不到与Windows窗体的“ResizeEnd”等效的任何事件。

用户控件是否有任何等效事件?

请注意,在这种情况下,用户控件的父控件本身就是UserControl,因此我无法将其(父用户控件)转换为表单。当我使用框架时,我无法访问将在其中显示此用户控件的表单。

最佳答案

没有对等的东西。表单具有模式调整大小循环,从用户单击表单的边缘或角落开始。子控件无法通过这种方式调整大小,只能看到对其Size属性的更改。

通过在用户控件中添加一个Sizing属性来解决此问题。表单可以通过其OnResizeBegin/End()替代轻松分配它。跟随UC的Load事件中的Parent属性,直到您发现Form也是可能的为止:

public bool Resizing { get; set; }

private void UserControl1_Load(object sender, EventArgs e) {
if (!this.DesignMode) {
var parent = this.Parent;
while (!(parent is Form)) parent = parent.Parent;
var form = parent as Form;
form.ResizeBegin += (s, ea) => this.Resizing = true;
form.ResizeEnd += (s, ea) => this.Resizing = false;
}
}

关于.net - 相当于"ResizeEnd"用户控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2577887/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com