public static List <ConfigValues> OpenFile_Click(string fileToOpen) { // Regex för att hitta alla rader med prefixet Btn men som inte följs av en siffra (och således inte ska visas i textboxarna) string reg = @"Btn(?=)\d"; if (fileToOpen.IsNullOrWhiteSpace() || fileToOpen == "undefined.txt") { lists.Clear(); return(lists); } else { try { linesInDoc.Clear(); unFilteredLinesInDoc.Clear(); fileName = fileToOpen; using (StreamReader reader = new StreamReader(truckPath + "\\" + fileToOpen)) { string line; while ((line = reader.ReadLine()) != null) { if (!string.IsNullOrEmpty(line) && (line.StartsWith("Btn") || line.StartsWith("Status"))) { Match match = Regex.Match(line, reg); if (line.StartsWith("StatusBtnColor")) { unFilteredLinesInDoc.Add(line); } else if (line.StartsWith("Status")) { linesInDoc.Add(line); var data = ButtonData.Parse(line); if (data != null) { _linesInDoc.Add(data); } } else if (!match.Success) { unFilteredLinesInDoc.Add(line); } else { linesInDoc.Add(line); var data = ButtonData.Parse(line); if (data != null) { _linesInDoc.Add(data); } } } else { if (!string.IsNullOrEmpty(line)) { unFilteredLinesInDoc.Add(line); } } } } listObject.statusList.Clear(); listObject.tgList.Clear(); listObject.portList.Clear(); listObject.shortList.Clear(); listObject.linkList.Clear(); listObject.quickList.Clear(); lists.Clear(); ExtractStatusInfo(); ExtractTgInfo(); ExtractPortInfo(); ExtractKortNRInfo(); ExtractUrlInfo(); ExtractQuickButtonInfo(); ExtractName(); lists.Add(listObject); return(lists); } catch (Exception ex) { _logger.Error(ex.ToString()); return(lists); } } }