Есть два класса, загружающие информацию из xml-дока разными способами. При загрузке документа создается экземпляр одного из них при определенном условии if (это не играет роли). Один класс отрабатывает нормально при чтении своего файла, а когда условие if подразумевает создание экземпляра второго класса и чтение дока при помощи этого второго класса, форма встает и не реагирует дальше. Брейкпоинт встает на методе xml.Load(ofd.FileName) и дальше не двигается. Такой баг происходит при чтении файлов из стороннего граф. редактора, хотя, файлы моего редактора от тех не отличаются. Код в аттаче.
if (ofd.ShowDialog() == DialogResult.OK) { this.Clear(); XmlDocument xml = new XmlDocument(); xml.Load(ofd.FileName); XmlNode root = xml.DocumentElement; // получение корневого узла <svg> XmlNode node = root.FirstChild; // в svg-файле первым дочерним элементом для корневого будет узел <defs>, содержащий path-элементы, либо узел <g> XmlNode check_elem = node.FirstChild; // проверяем тип фигур, содержащихся в файле, по названию элемента Formats loader; if (check_elem.Name != "path") { loader = new SVGLoad(node); loader.Load(Fctr, ItemsList); } else { loader = new SVGLoadP(node); loader.Load(Fctr, ItemsList); } } else return;