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 |