我想opendialog替換OpenText公司?我試過,但我得到 錯誤與流我想使用的StreamReader ....
解決方案1:您可以指定返回Stream
通過openFileDialog.OpenFile()
到StreamReader
試試這個:
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:
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++;
}
}
注意:如果你想文件內容分配到多個textbox'es
試試這個 1:所有的TextBoxControls應該以preText
的值開始。
注2:在上述解決方案中,您可以按照您的要求更改startCount
和endCount
。
例如,如果你想文件contenet分配給開始從textBox3
到textBox23
你需要改變在如下上述代碼參數20個TextBox控件:
preText="textBox";
startCount = 3;
endCount = 23;
Opendialog返回所選擇的文件路徑,而不是一個流,你需要使用它作爲參數來打開文本。 – BlackICE