是否有与面事件等效的面板事件显示? 我在一个永远不会关闭的窗体中进行了几次面板切换。 但是我找不到任何接近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. 在Firefox插件的控件附加事件显示面板
- 3. 如何在Winform的面板中显示Piechart
- 4. 使事件的任何面板c#
- 5. 如何在菜单的点击事件中显示面板?
- 6. C#只显示一个特定面板?
- 7. C#的WinForm Datagrid中双击事件
- 8. 父控件的显示/隐藏面板
- 9. 面板事件将无法在C#
- 10. 如何在鼠标输入事件中动态显示面板?
- 11. 如何显示/隐藏下拉更改事件面板
- 12. 在WinForm中旋转面板
- 13. WCF引发WinForm事件中的双面事件结果为空
- 14. 显示图像的面板
- 15. c#Winform DateTime显示时间只在Datagrid
- 16. C# - 在WinForm中显示大量文本
- 17. C#Winform应用程序 - 显示地图
- 18. 工作站锁后c#winform显示
- 19. datagrid列值不显示c#winform
- 20. c#在winform上从sql server显示表
- 21. C#Winform隐藏/显示选项卡
- 22. WPF控件里面没有显示透明的winform
- 23. iPad显示iPhone故事板
- 24. 当我试图从backgroundworker_RunWorkerCompleted事件打开时,Winform不显示?
- 25. DataGridView筛选OnClick事件(C#WinForm)
- 26. 下载文件时不显示面板
- 27. C#Winform应用程序仅在辅助显示器上显示
- 28. jQuery Mobile在页面显示后事件
- 29. Facebook PHP SDK显示页面事件
- 30. 如何拦截“显示桌面”事件?
Form.Shown在第一次显示表单时提出。它再也不会升起。因此,对于任意控制,您可以使用类似HandleCreated的东西,重写OnCreateControl()方法来添加代码。但是,这听起来像你认为Form.Shown的作用有点不同,它实际上... –
你如何显示面板?提供一些代码将有所帮助。 – djv
焦点事件有什么问题?它显示焦点不集中吗? – user1274820