gpt4 book ai didi

c# - CheckedListBox显示不同的字符串c#

转载 作者:行者123 更新时间:2023-11-30 17:15:04 24 4
gpt4 key购买 nike

我正在编写的备份应用程序上有一个 CheckedListBox。我希望用户选择他们想要备份的文件夹,即桌面我的 for 循环适用于每个勾选的项目等,但我希望用户看到标记为“桌面”的勾选框而不是 c:\users\username\desktop

有人能告诉我如何将列表框标签更改为不同于实际返回到我的 for 循环的标签吗。

最佳答案

您应该创建一个包含完整路径的类型并覆盖 ToString() 以返回您想要在 CheckedListBox 中显示的内容。 CheckedListBox.SelectedItems 将包含您的类型的列表。

    public void PopulateListBox()
{
_checkedListBox.Items.Add(new BackupDir(@"C:\foo\bar\desktop", "Desktop"));
}

public void IterateSelectedItems()
{
foreach(BackupDir backupDir in _checkedListBox.CheckedItems)
Messagebox.Show(string.format("{0}({1}", backupDir.DisplayText, backupDir.Path));
}

public class BackupDir
{
public string Path { get; private set; }
public string DisplayText { get; private set; }

public BackupDir(string path, string displayText)
{
Path = path;
DisplayText = displayText;
}

public override string ToString()
{
return DisplayText;
}
}

如果您想对每个列表项执行此操作,您当然可以从路径中删除文件夹名称,并且只需在 BackupDir 类中设置路径 arg。

关于c# - CheckedListBox显示不同的字符串c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8241195/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com