我没有继承控件。试图通过Control.Size = Control.Size
触发事件失败,因为它不会触发,即使除非新的大小实际上不同。如何在不实际调整大小的情况下触发Control.Resize事件?
4
A
回答
8
如果你继承Control
,可以直接调用OnResize
,或将其暴露在API:
public void OnResize() {
this.OnResize(EventArgs.Empty);
}
但是,你不能任意控制做到这一点。你可以改变Size
来回?或者,你可以使用反射,但这是hacky:
typeof (Control).GetMethod("OnResize",
BindingFlags.Instance | BindingFlags.NonPublic)
.Invoke(myControl, new object[] {EventArgs.Empty});
0
只需更改控件的大小:Control.Size = new Size(x,y);
更改控件的大小将为该控件发出resize事件,并且控件应调整大小。
或者,如果你只是想重新控制,然后做: Control.Invalidate();
0
为什么你想这样做,在什么情况下?例如,您可以调用OnResize,当您在控件本身中时(即在您的派生控件类中)。 (或通过反射,当你在外面。)
除此之外,你可能必须改变控件的大小,因为这是Resize事件是:)
1
我总是这样做调用控件的Resize事件处理程序:
control_Resize(null, null);
相关问题
- 1. 如何在不拉伸的情况下调整图像大小?
- 2. 如何在不拉伸的情况下调整图像大小?
- 3. 如何在不调整大小的情况下旋转UITextView?
- 4. 如何在不触发事件的情况下保存数据
- 5. 如何在不滚动的情况下触发滚动事件
- 6. 如何在Angular中触发窗口大小调整事件
- 7. 如何在浏览器上触发事件调整大小
- 8. 如何触发我的jQuery脚本调整大小事件
- 9. 如何在不触发选择器事件的情况下调用jquery函数?
- 10. 如何在不隐藏控件的情况下调整窗口大小
- 11. 调整元素的大小会触发窗口的大小调整事件
- 12. 在这种情况下,td auto如何调整大小?
- 13. 如何在不实际拖放的情况下使用jQuery UI Droppable触发Drop事件?
- 14. 如何使用nvd3触发调整大小事件?
- 15. 如何在没有输入的情况下触发事件
- 16. jQuery的调整大小事件不触发
- 17. 调整大小TinyMCE的情况下调整
- 18. jquery事件在任何情况下都不会触发
- 19. 在不触发hashchange事件的情况下更改散列
- 20. 如何在不失透明度的情况下调整图标图像大小?
- 21. 如何在不裁剪图像的情况下调整图像大小?
- 22. 如何在不影响比例的情况下调整动画片段大小?
- 23. 如何在不调整图像大小的情况下压缩PDF?
- 24. 在没有UIScrollView的情况下调整图像的大小
- 25. KO:点击事件在某些情况下不会触发
- 26. 如何使用CFImage调整大小并实际缩小图像文件大小?
- 27. 在下面的情况下找不到css字体大小更改触发器?
- 28. 在jQuery中,如何让mousedown()事件触发可调整大小的框功能?
- 29. 如何在不重建的情况下触发VS后构建事件
- 30. 如何在不触发更改事件的情况下检查复选框?
如果您没有调整控件大小,那么为什么要调整大小? – Calanus 2009-02-05 11:12:18
如果你想*重绘*控制然后做Control.Invalidate() – Calanus 2009-02-05 11:14:59