Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何检测我是否单击了TreeView项目(如果该项目是文件或目录)?_C#_.net_Winforms - Fatal编程技术网

C# 如何检测我是否单击了TreeView项目(如果该项目是文件或目录)?

C# 如何检测我是否单击了TreeView项目(如果该项目是文件或目录)?,c#,.net,winforms,C#,.net,Winforms,我可以向ContextMenuStrip添加更多菜单,如“下载文件”和“下载目录” 但是我想做一个下载选项,如果我在一个目录中选择它,我会下载整个目录,如果在文件中,我只下载文件 问题是,当我单击“下载”时,如何知道该项目是目录还是文件?有对象发送者参数,它是菜单项 将发件人强制转换为MenuItem,并检查它是文件还是目录(检查图标或其他属性) 我不确定MenuItem,因为我不熟悉WinFormsTreeView数据是否由您填充?dotnetstep是。在treeView1中,我有一个ftp

我可以向ContextMenuStrip添加更多菜单,如“下载文件”和“下载目录” 但是我想做一个下载选项,如果我在一个目录中选择它,我会下载整个目录,如果在文件中,我只下载文件


问题是,当我单击“下载”时,如何知道该项目是目录还是文件?

对象发送者
参数,它是
菜单项

将发件人强制转换为
MenuItem
,并检查它是文件还是目录(检查图标或其他属性)


我不确定
MenuItem
,因为我不熟悉WinForms

TreeView数据是否由您填充?dotnetstep是。在treeView1中,我有一个ftp内容目录和文件的节点树。每个树节点都是名为Tag的属性。如果您在填充treeView期间设置了此属性,您可以稍后确定它是目录或文件。
private void menuStrip_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            if (e.ClickedItem.Text == "Download")
            {
                // if download selected start download file or directory.
                // to check if selected directory to download whole directory with sub directories and files
                // if selected file to download only file.
            }
        }