У меня есть приложение Windows Forms, чтобы открыть диалоговое окно файлов, а затем просмотреть файлы XML и XLSX в формате datagridview
. Я написал следующий код: мой код в порядке или мне нужно сделать что-то еще?
namespace MyFirstWindos
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Button1_Click(object sender, EventArgs e)
{
openFD.InitialDirectory = "C:";
openFD.Title = "Insert an File";
openFD.FileName = "";
openFD.Filter = "XML Files |*.xml| XLSX Files |*.xlsx ";
if (openFD.ShowDialog() == DialogResult.OK)
{
DataSet ds = new DataSet();
ds.ReadXml(openFD.FileName);
dataGridView1.DataSource = ds.Tables[0];
}
else
{
MessageBox.Show("Operation Cancelled");
}
}
}
}
namespace MyFirstWindos
{
public static class Program
{
public static void Main()
{
Compare_D_A d_A = new Compare_D_A();
d_A.CompareD_A();
// Compare_D_R d_R = new Compare_D_R();
// d_R.compareD_R();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
У меня есть это исключение
"System.Threading.ThreadStateException: 'Текущийпоток должен быть установлен в режим однопотокового хранения (STA), прежде чем могут быть выполнены вызовы OLE. Убедитесь, что основная функция помечена как STAThreadAttribute.
Это исключение активируется только в том случае, если связана программа устранения неполадокк процессу, в этой строке в моем коде if (openFD.ShowDialog() == DialogResult.OK)
.
Как я могу это исправить и что это значит?