internal void UpdateFile(string filename)
        {
            textBox1.Text = filename;
            bool csv       = filename.ToLower().EndsWith(".csv");
            char separator = csv ? ',' : '\t';

            string[] colNames;
            Dictionary <string, string[]> annotationRows = new Dictionary <string, string[]>();

            try{
                colNames = TabSep.GetColumnNames(filename, PerseusUtils.commentPrefix, PerseusUtils.commentPrefixExceptions,
                                                 annotationRows, separator);
            } catch (Exception) {
                MessageBox.Show("Could not open the file '" + filename +
                                "'. It is probably opened by another program.");
                return;
            }
            string[] colTypes = null;
            if (annotationRows.ContainsKey("Type"))
            {
                colTypes = annotationRows["Type"];
                annotationRows.Remove("Type");
            }
            string msg = TabSep.CanOpen(filename);

            if (msg != null)
            {
                MessageBox.Show(msg);
                return;
            }
            multiListSelectorControl1.Init(colNames);
            if (colTypes != null)
            {
                FormUtils.SelectExact(colNames, colTypes, multiListSelectorControl1);
            }
            else
            {
                FormUtils.SelectHeuristic(colNames, multiListSelectorControl1);
            }
        }