Source/AdvTree/KeyNavigation.cs
(开头部分) 10KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Windows.Forms;
using System.Drawing;
namespace DevComponents.AdvTree
{
/// <summary>
/// Provides AdvTree Keyboard handling.
/// </summary>
internal class KeyNavigation
{
public static void KeyDown(AdvTree tree, KeyEventArgs e)
{
switch(e.KeyCode)
{
case Keys.Space:
{
SpaceKeyDown(tree, e);
e.Handled = true;
break;
}
case Keys.F2:
{
F2KeyDown(tree, e);
break;
}
}
}
private static void F2KeyDown(AdvTree tree, KeyEventArgs e)
{
if (tree.EditSelectedCell(eTreeAction.Keyboard))
e.Handled = true;
}
public static void SpaceKeyDown(AdvTree tree, KeyEventArgs e)
{
Node node = tree.SelectedNode;
if (node != null && node.CheckBoxVisible && node.Enabled)
{
if (node.CheckBoxThreeState)
{
if (node.CheckState == CheckState.Checked)
node.SetChecked(CheckState.Indeterminate, eTreeAction.Keyboard);
else if (node.CheckState == CheckState.Unchecked)
node.SetChecked(CheckState.Checked, eTreeAction.Keyboard);
else if (node.CheckState == CheckState.Indeterminate)
node.SetChecked(CheckState.Unchecked, eTreeAction.Keyboard);
}
else
node.SetChecked(!node.Checked, eTreeAction.Keyboard);
e.Handled = true;
}
}
public static void EnterKeyDown(AdvTree tree, KeyEventArgs e)
{
if (tree.SelectedNode != null && tree.SelectedNode.Nodes.Count > 0)
{
tree.SelectedNode.Toggle(eTreeAction.Keyboard);
后面还有 196 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。