Итак, я только начал учиться C# сегодня, и я, наконец, полностью застрял. Я пытаюсь использовать опцию просмотра, чтобы выбрать файл. Затем путь к файлу будет отображаться в текстовом поле. Затем мне нужно то, что нужно загрузить textBox1, нажав кнопку запуска.Формат данного пути не поддерживается. Просто начал использовать C#
В настоящее время у меня есть 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";
}
}
}
@asad: ваше редактирование ниндзя сделает это для людей трудно понять, что ОП сделал не так. – Dave
надеюсь, что лучше сейчас –
Хорошая стратегия отладки в подобных ситуациях заключается в том, чтобы проверить, что на самом деле передается методу, который дает вам проблему. В вашем случае установите точку останова в строке readXml() и проверьте значение Application.StartupPath + textBox1.Text . Измените свой код на: string whatIsWrong = Application.StartupPath + textBox1.Text; MessageBox.Show (whatIsWrong); xmldata.DataSet.ReadXml (whatIsWrong); Вы увидите неверный путь, как показано на рисунке @Ramesh. – JeffH