是否有與面事件等效的面板事件顯示? 我在一個永遠不會關閉的窗體中進行了幾次面板切換。 但是我找不到任何接近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