Формат данного пути не поддерживается.Просто начал использовать C # - PullRequest
0 голосов
/ 22 февраля 2010

Хорошо, поэтому я только начал учить себя C # сегодня, и я наконец полностью застрял.Я пытаюсь использовать опцию просмотра, чтобы выбрать файл.Путь к файлу будет отображаться в textBox1.Затем мне нужно загрузить текстовое поле «textBox1», нажав кнопку «Запуск».

В настоящее время в качестве местоположения файла задан textBox1.Text.Когда я вписываю \ TestList.xml в текстовое поле, он проходит нормально и делает то, что должен.Однако в любое другое время, например, если я набрал c: \ TestList.xml или c: \ TestList.xml, это просто говорит о том, что он не может использовать формат textBox1.Text в качестве местоположения файла.Есть идеи как это исправить?вот кодЯ добавил несколько штрихов рядом со строкой, которая вызывает проблему.Большое спасибо за любую помощь с этим.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml;

namespace Combined
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog fdlg = new OpenFileDialog();
            fdlg.Title = "C# Corner Open File Dialog";
            fdlg.InitialDirectory = @"c:\";
            fdlg.Filter = "All files (*.*)|*.*|All files (*.*)|*.*";
            fdlg.FilterIndex = 2;
            fdlg.RestoreDirectory = true;
            if (fdlg.ShowDialog() == DialogResult.OK)
            {
                textBox1.Text = fdlg.FileName;
            } 
        }

        private void button2_Click(object sender, EventArgs e)
        {                          
                XmlDataDocument xmldata = new XmlDataDocument();

            // causing problem
                xmldata.DataSet.ReadXml(Application.StartupPath + textBox1.Text);

                dataGridView1.DataSource = xmldata.DataSet;
                dataGridView1.DataMember = "Unit";  
        }
    }
}

Ответы [ 2 ]

1 голос
/ 22 февраля 2010

Application.StartupPath возвращает путь к исполняемому файлу exe (получает путь к исполняемому файлу, который запустил приложение, не включая имя исполняемого файла, из MSDN ), поэтому, если вы укажете /TestList.xml загружает файл из корзины

Если вы дадите c: \ TestList.xml , то он добавит путь примерно так:

"D: ​​\ urapppath \ bin \ c: \ TestList.xml" , недопустимое право ...

1 голос
/ 22 февраля 2010

Ваша ошибка в том, что вы ввели абсолютный путь, но затем он добавляется к другому абсолютному пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...