Я хочу заменить OpenText с OpenDialog? Я пытался, но я получаю ошибки с потоком я хочу использовать StreamReader ....
Решение 1: Вы можете назначить Stream
возвращаемый openFileDialog.OpenFile()
к StreamReader
Try This:
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
using (var reader = new StreamReader(openFileDialog1.OpenFile()))
{
label3.Text = "Ready to Insert";
textBox7.Text = reader.ReadLine();
textBox8.Text = reader.ReadLine();
textBox9.Text = reader.ReadLine();
textBox10.Text = reader.ReadLine();
}
}
Решение 2: Вы можете непосредственно присвоить openFileDialog().FileName
свойство как Path
аргументов в File.OpenText()
метода, как показано ниже:
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
using (var reader = new StreamReader(openFileDialog1.OpenText(openFileDialog1.FileName)))
{
label3.Text = "Ready to Insert";
textBox7.Text = reader.ReadLine();
textBox8.Text = reader.ReadLine();
textBox9.Text = reader.ReadLine();
textBox10.Text = reader.ReadLine();
}
}
Решение 3: если вы хотите назначить содержимое файла на нескольких textbox'es
Попробуйте это:
int startCount=7;
int endCount=10;
string preText="textBox";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
String fileName=openFileDialog1.FileName;
foreach(var line in File.ReadLines(fileName))
{
((TextBox) (this.Controls.Find(preText+startCount,true)[0])).Text=line;
if(startCount==endCount)
break;
startCount++;
}
}
Примечание 1: Все значения TextBoxControls должны начинаться с значения preText
.
Примечание 2: в вышеуказанном решении вы можете изменить startCount
и endCount
согласно вашему требованию.
, например, если вы хотите назначить файл contenet 20 управления TextBox, начиная с textBox3
к textBox23
вам необходимо изменить параметры в коде выше, как показано ниже:
preText="textBox";
startCount = 3;
endCount = 23;
OpenDialog возвращает путь к файлу выбранного, а не stream, вам нужно использовать это как параметр opentext. – BlackICE