45 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| #if NETFRAMEWORK || WINDOWS
 | |
| using System;
 | |
| using System.Collections.Generic;
 | |
| using System.Linq;
 | |
| using System.Text;
 | |
| using System.Threading.Tasks;
 | |
| using System.Windows.Forms;
 | |
| 
 | |
| namespace DH.RBAC.Utility.Other
 | |
| {
 | |
|     public class PanelScrollHelper
 | |
|     {
 | |
|         /// <summary>
 | |
|         /// 初始化panel
 | |
|         /// </summary>
 | |
|         /// <param name="panel"></param>
 | |
|         public static void InitializePanelScroll(Panel panel)
 | |
|         {
 | |
|             panel.Click += (obj, arg) => { panel.Select(); };
 | |
|             InitializePanelScroll(panel, panel);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 递归初始化panel的内部个容器和控件
 | |
|         /// </summary>
 | |
|         /// <param name="panel1"></param>
 | |
|         /// <param name="panel2"></param>
 | |
|         private static void InitializePanelScroll(Control container, Control panelRoot)
 | |
|         {
 | |
|             foreach (Control control in container.Controls)
 | |
|             {
 | |
|                 if (control is Panel || control is GroupBox || control is SplitContainer || control is TabControl || control is UserControl)
 | |
|                 {
 | |
|                     control.Click += (obj, arg) => { panelRoot.Select(); };
 | |
|                     InitializePanelScroll(control, panelRoot);
 | |
|                 }
 | |
|                 else if (control is Label)
 | |
|                 {
 | |
|                     control.Click += (obj, arg) => { panelRoot.Select(); };
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| }
 | |
| #endif |