我遇到了使用C#编写的Visual Studio中编写的Windows窗体的问题,作为Web开发课程的一部分。当我点击菜单项('导入')时,文件对话框会打开两次。
第一个对话似乎不正确,因为它没有应用过滤器或标题。然后立即打开的第二个对话框应用了正确的过滤器和标题。
显然,只打开一次才能让我读取所选文件并将其添加到列表框中。这是有效的,但只有在我选择了两次文件后才能使用。
提前感谢您的帮助。
private void importToolStripMenuItem_Click(object sender, EventArgs e)
{
openFileDialog1.ShowDialog();
openFileDialog1.Filter = "Text|*.txt";
openFileDialog1.Title = "Choose a file to import";
if (openFileDialog1.ShowDialog() == DialogResult.Cancel)
{
MessageBox.Show("Oh. No file selected!");
}
else
{
string usersFile = openFileDialog1.FileName;
string[] lines = File.ReadAllLines(usersFile);
foreach (string line in lines)
{
groceryList.Items.Add(line);
}
}
答案 0 :(得分:6)
启动您的代码
private void importToolStripMenuItem_Click(object sender, EventArgs e)
{
openFileDialog1.ShowDialog();
这是不必要的,ShowDialog将显示一个对话框,其中过滤器未正确设置,因为您的下一行有:
openFileDialog1.Filter = "Text|*.txt";
openFileDialog1.Title = "Choose a file to import";
然后再次ShowDialog。
因此,只需删除第一个
openFileDialog1.ShowDialog();
你应该没事。