C# 获得;方法'没有重载;添加';接受2个参数“;
我有一个用于Windows窗体应用程序的函数,在该函数中,我检索文件夹中的文件列表,并剥离每个文件名中包含的“部件号”。然后,我将部件号和文件名添加到列表框中 当我使用代码时,一切正常C# 获得;方法'没有重载;添加';接受2个参数“;,c#,listbox,C#,Listbox,我有一个用于Windows窗体应用程序的函数,在该函数中,我检索文件夹中的文件列表,并剥离每个文件名中包含的“部件号”。然后,我将部件号和文件名添加到列表框中 当我使用代码时,一切正常 lstProcessedParts.Items.Add(lsPartNumber); 如果更改代码以添加listbox项的值,则会出现错误 lstProcessedParts.Items.Add(lsPartNumber, lsFilename); 这是我的功能 public void LoadPar
lstProcessedParts.Items.Add(lsPartNumber);
如果更改代码以添加listbox项的值,则会出现错误
lstProcessedParts.Items.Add(lsPartNumber, lsFilename);
这是我的功能
public void LoadPartNumberList()
{
string lsFilename, lsPartNumber = "";
int liPartNumberStartPosition, liPartNumberEndPosition, liPartNumberLength = 0;
string[] files = Directory.GetFiles(txtFolderSelected.Text);
foreach (string pathandfile in files)
{
lsFilename = Path.GetFileName(pathandfile);
liPartNumberStartPosition = lsFilename.IndexOf("-") + 1;
liPartNumberEndPosition = lsFilename.IndexOf("-", liPartNumberStartPosition + 5);
liPartNumberLength = liPartNumberEndPosition - liPartNumberStartPosition;
lsPartNumber = lsFilename.Substring(liPartNumberStartPosition, liPartNumberLength);
lstProcessedParts.Items.Add(lsPartNumber, lsFilename);
}
}
有人能帮我修复代码,使其正常工作吗?我不能肯定地回答,因为我看不清您的系统,但是 如果项目中需要不同的显示成员和值成员,则应将自定义类型的实例添加到列表中,并确保相应地配置显示成员和值成员 所以,如果你有课:
class ProcessedPart
{
public string PartNumber {get; set;}
public string FileName {get;set;}
}
现在,您可以将ProcessedPart
的实例添加到列表中:
lstProcessedParts.Items.Add(
new ProcessedPart {
PartNumber = lsPartNumber,
FileName = lsFilename
});
确保配置列表
lstProcessedParts.DisplayMember = "PartNumber";
lstProcessedParts.ValueMember = "FileName";
…或者您需要它的任何方式方法都有您必须遵守的特定签名。
Add()
接受一个参数。您希望代码添加两个项目,还是一个具有这些属性的项目?@Jerodev,这不是重复的。首先,您引用的问题没有对我有帮助的答案,并且标记为正确的答案实际上是错误的……”方法列表框。items.add()获取一个对象msdn.microsoft.com/en us/library/…ListBoxItem似乎仅作为wpf控件存在。由于问题是关于winforms的,我假设您上面的方法仅对wpf列表框有效。?“谢谢@Crowcoder。我不知道该方法只接受一个参数。错误告诉我这很混乱”该方法接受两个参数“。你能建议我在我创建的函数中将文本和值添加到我的列表框中吗?谢谢@elgonzo,我以后一定要使用列表框值。我可以把lsPartNumber+lsFilename都作为文本,然后去掉lsFilename,但从用户的视觉角度看,这看起来不太好,我只想让他们看到列表中的零件号。我不明白为什么我不能轻松地添加一个带有文本和值的列表项,因为我创建了一个函数。嘿,这很有效!!令人惊叹的谢谢@Crowcoder!我从来没有想过这样做。