点击这里给我发消息
点击这里给我发消息
¥1891.00元
智超淘宝店
判断TreeView中的项是手动勾选的
原创
文章标签 C# WinForm

有时候后台默认的勾选TreeView中的项不能影响用户手动的勾选时,就需要判断TreeView中的项是否手动勾选的,为此,C#提供了以下的枚举:

TreeViewEventArgs事件对象中提供了TreeViewAction枚举的属性,此属性记录了由什么操作引发的事件。

枚举定义如下:

    //
    // 摘要:
    //     指定引发 System.Windows.Forms.TreeViewEventArgs 事件的操作。
    public enum TreeViewAction
    {
        //
        // 摘要:
        //     引发此事件的操作未知。
        Unknown = 0,
        //
        // 摘要:
        //     此事件由按键操作引发。
        ByKeyboard = 1,
        //
        // 摘要:
        //     此事件由鼠标操作引发。
        ByMouse = 2,
        //
        // 摘要:
        //     此事件由 System.Windows.Forms.TreeNode 折叠操作引发。
        Collapse = 3,
        //
        // 摘要:
        //     此事件由 System.Windows.Forms.TreeNode 展开操作引发。
        Expand = 4
    }
实例:

        List c_SelectedTN = new List();
        private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)
        {
            if (e.Action == TreeViewAction.ByMouse)
            {
                if (e.Node.Checked)
                {
                    c_SelectedTN.Add(e.Node);
                }
                else
                    c_SelectedTN.Remove(e.Node);
            }
        }