C# 检查在列表框中单击的文件类型
如何在列表框中检查对象的文件类型 我从一个在线服务器返回一个字符串列表,只想在我点击一个末尾有.folder文件类型的项目时触发一个事件 我试过找,但什么也找不到C# 检查在列表框中单击的文件类型,c#,string,winforms,listbox,C#,String,Winforms,Listbox,如何在列表框中检查对象的文件类型 我从一个在线服务器返回一个字符串列表,只想在我点击一个末尾有.folder文件类型的项目时触发一个事件 我试过找,但什么也找不到 有人可以请提供一个链接或示例代码,这样我就可以实现我想实现的 这应该适合你 private void listBox1.SelectedIndexChanged(object sender,EventArgs e) { string item=listBox1.SelectedItem.ToString();
有人可以请提供一个链接或示例代码,这样我就可以实现我想实现的 这应该适合你
private void listBox1.SelectedIndexChanged(object sender,EventArgs e)
{
string item=listBox1.SelectedItem.ToString();
int index=item.LastIndexOf('.');
if(index>=0)//It's a valid file
{
string extension=item.Substring(index+1,item.Length-index-1);
if(extension=="folder")
{
MessageBox.Show("Yes it's a .folder");
}
}
else if(index==-1)//Not a valid file
{
MessageBox.Show("The selected file is invalid.");
}
}
这应该对你有用
private void listBox1.SelectedIndexChanged(object sender,EventArgs e)
{
string item=listBox1.SelectedItem.ToString();
int index=item.LastIndexOf('.');
if(index>=0)//It's a valid file
{
string extension=item.Substring(index+1,item.Length-index-1);
if(extension=="folder")
{
MessageBox.Show("Yes it's a .folder");
}
}
else if(index==-1)//Not a valid file
{
MessageBox.Show("The selected file is invalid.");
}
}
您可以包括FileInfo程序集并使用FileInfo.Extension
FileInfo finfo = new FileInfo(fileName);
string fileName = finfo.Extension
您可以包括FileInfo程序集并使用FileInfo.Extension
FileInfo finfo = new FileInfo(fileName);
string fileName = finfo.Extension
如果只需要文件夹扩展事件
private void listBox1.SelectedIndexChanged(object sender,EventArgs e)
{
string file=listBox1.SelectedItem.ToString();
var ext = Path.GetExtension(file);
if(ext ==".folder")
{
//raise event
}
}
如果只需要文件夹扩展事件
private void listBox1.SelectedIndexChanged(object sender,EventArgs e)
{
string file=listBox1.SelectedItem.ToString();
var ext = Path.GetExtension(file);
if(ext ==".folder")
{
//raise event
}
}
列表框中的所有项目是否都有扩展名(如.folder)?是。主要是图像文件类型,虽然像.jpg和.png,但它特别是我想要的.folder类型。所以,你拉下这个字符串列表,显示给用户,他们点击一个扩展名为.folder的,还有一个事件被触发了?@Sean请回顾不同的答案,并评论那些没有完全解决你需要的问题的答案,或者最好将其中一个标记为正确答案answer@Mauricio我刚做了,伙计。不需要像那个人那样评论。我知道这个网站的工作原理。列表框中的所有项目是否都有扩展名(如.folder)?是的。主要是图像文件类型,虽然像.jpg和.png,但它特别是我想要的.folder类型。所以,你拉下这个字符串列表,显示给用户,他们点击一个扩展名为.folder的,还有一个事件被触发了?@Sean请回顾不同的答案,并评论那些没有完全解决你需要的问题的答案,或者最好将其中一个标记为正确答案answer@Mauricio我刚做了,伙计。不需要像那个人那样评论。我知道这个网站是如何工作的。为什么需要使用LastIndexOf和Substring而不使用EndsWith?@MauricioGracia如果项目是
文件夹。文件夹
,就像你说的那样,如果它适用于somefolder.folder
,为什么它不工作呢,music.folder
。我的意思是我没有检查上次之前项目包含的任何内容。
,因此不会有任何问题。如果它的“folder.folder”是“folder.folder”,我不会说会发生什么。@MauricioGracia感谢您指出它,如果出现这种情况,我忘了包括一些内容。我会更新它。考虑到问题的复杂性,逻辑太复杂了。为什么需要使用LastIndexOf和Substring,而不使用EndsWith?@MauricioGracia如果项目是文件夹。文件夹
,就像你说的那样,如果它适用于somefolder.folder
,为什么它不起作用,music.folder
。我的意思是我没有检查上次之前项目包含的任何内容。
,因此不会有任何问题。如果它的“folder.folder”是“folder.folder”,我不会说会发生什么。@MauricioGracia感谢您指出它,如果发生这种情况,我忘了包括一些内容。我会更新它。考虑到问题的复杂性,逻辑太复杂了。您假设文件名是完整的文件路径,但从未提及。扩展名不需要完整的文件路径才能工作。调用.Extension时,FileInfo(“blahblah.fakeext”)将返回.fakeext。虽然,公平地说,我相信它实际上只是调用lastindexof('.'):)哦,根据这个。扩展名从字符串的末尾向后搜索到第一个句点。您假设文件名是一个完整的文件路径,而从来没有提到过。扩展名不需要完整的文件路径才能工作。调用.Extension时,FileInfo(“blahblah.fakeext”)将返回.fakeext。虽然,公平地说,我相信它实际上只是调用lastindexof('.'):)哦,根据这个。扩展名从字符串的末尾向后搜索到第一个句点。