Вы должны создать тип, который содержит полный путь и переопределить 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.