是否有与面事件等效的面板事件显示? 我在一个永远不会关闭的窗体中进行了几次面板切换。 但是我找不到任何接近Shown这样的事件的东西。 我关闭的是Paint事件。不过,我只希望每次显示时更新面板一次。C#Winform面板显示的事件
0
A
回答
0
您可以在VisibleChanged
事件上收听,并仅在可见性=真时进行操作。
您也可以与Enter
和Invalidated
事件的实验,看看这些给你你想要的结果。
或者,如果在离开时禁用面板是一个选项,您可能可以在工具箱中使用EnabledChanged
事件。
+0
在我的情况下,可见性总是如此。我有一个主面板作为子面板的容器,在运行时,主面板控制清晰,子面板添加进来。子面板在卸载时不会被破坏。 – ishtarsg
0
Form.Shown
不会在每次显示表单时提出,而应该是Occurs whenever the form is first displayed。这就是说,没有事件发生,并且没有事件在“首次显示面板时”引发。
您可以使用Panel.Paint
事件来模拟此行为,使用标记来跟踪它之前是否“显示”过一次。这将使其行为类似于Form.Shown
。
private bool panel1Painted = false;
private void panel1_Paint(object sender, PaintEventArgs e)
{
if (!panel1Painted)
{
// do your shown stuff here
panel1Painted = true;
}
}
为了保持在Form.Shown
精神,你可能想如果面板重建复位标志。这与显示的不一样。
相关问题
- 1. Winform后显示执行事件C#
- 2. 如何让面板显示在winform C#的同一图层上?
- 3. mouse_right click事件不适用于使用c#的winform面板?
- 4. Winform的面板中打开C#EXE
- 5. 在Firefox插件的控件附加事件显示面板
- 6. DatagridView突出事件 - WINFORM C#
- 7. 如何在Winform的面板中显示Piechart
- 8. 使事件的任何面板c#
- 9. 如何在菜单的点击事件中显示面板?
- 10. 事件在面板中的jQuery移动显示
- 11. Winform显示bug
- 12. C#的WinForm Datagrid中双击事件
- 13. winform中的关键事件问题c#
- 14. C#WinForm的事件处理程序
- 15. C#只显示一个特定面板?
- 16. Firebug在HTML面板中显示事件处理程序,但在JavaScript面板中不显示
- 17. GridBag /面板显示
- 18. 显示面板(WP7)
- 19. 面板事件将无法在C#
- 20. 父控件的显示/隐藏面板
- 21. 如何在鼠标输入事件中动态显示面板?
- 22. 如何显示/隐藏下拉更改事件面板
- 23. IOS XIB故事板启动画面文件显示内部
- 24. 在WinForm中旋转面板
- 25. WCF引发WinForm事件中的双面事件结果为空
- 26. 在不同屏幕上显示C#WinForm
- 27. datagrid列值不显示c#winform
- 28. c#在winform上从sql server显示表
- 29. winform picturebox图像显示为空c#
- 30. C#Winform应用程序 - 显示地图
Form.Shown在第一次显示表单时提出。它再也不会升起。因此,对于任意控制,您可以使用类似HandleCreated的东西,重写OnCreateControl()方法来添加代码。但是,这听起来像你认为Form.Shown的作用有点不同,它实际上... –
你如何显示面板?提供一些代码将有所帮助。 – djv
焦点事件有什么问题?它显示焦点不集中吗? – user1274820