C# 如何从.txt中提取文本并将其放入文本框中?
我对这一点非常陌生,我正在尝试从.txt文件中提取文本并将其输入文本框 我试图从位于我电脑上的文件中读取文本C# 如何从.txt中提取文本并将其放入文本框中?,c#,winforms,C#,Winforms,我对这一点非常陌生,我正在尝试从.txt文件中提取文本并将其输入文本框 我试图从位于我电脑上的文件中读取文本 private void textBox1_TextChanged(object sender, EventArgs e) { textBox1.Text = (File.ReadAllText("F:\\Example")); } 我需要textBox1来显示“F:\Example”中的文本,正如@John所说,如果您想在表单加载后显示文本,可
private void textBox1_TextChanged(object sender, EventArgs e)
{
textBox1.Text = (File.ReadAllText("F:\\Example"));
}
我需要textBox1来显示“F:\Example”中的文本,正如@John所说,如果您想在表单加载后显示文本,可以直接使用事件,也可以像这样覆盖它:
protected override void OnLoad(事件参数e)
{
基础荷载(e);
textBox1.Text=File.ReadAllText(“F:\\Example”);
}
您还可以通过单击按钮加载文本。正如@John所说,如果您想在表单加载后显示文本,可以直接使用事件,也可以像这样覆盖它:
protected override void OnLoad(事件参数e)
{
基础荷载(e);
textBox1.Text=File.ReadAllText(“F:\\Example”);
}
您还可以通过单击按钮加载文本。此示例将处理程序添加到表单的OnLoad事件:
using System;
using System.IO;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.textBox1.Text = File.ReadAllText(@"F:\Example");
}
}
}
此示例将处理程序添加到表单的OnLoad事件:
using System;
using System.IO;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.textBox1.Text = File.ReadAllText(@"F:\Example");
}
}
}
如果使用Form_Load,则应异步读取文件,因为任何文件加载时间都会冻结表单的显示。 例如,如果加载文件需要5秒钟,则表单将在5秒钟内不可见 下面是一个使用Task.Run异步加载数据然后显示数据的示例。如果首先显示带有消息“正在加载数据…”的表单,则一旦加载数据,文本框就会更新
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.textBox1.Text = "Loading data...";
LoadData();
}
private async void LoadData()
{
string text = null;
await Task.Run(() =>
{
text = File.ReadAllText("z:\\very_large_file.txt");
});
this.textBox1.Text = text;
}
}
当然,异步加载文件还有很多其他方法(例如使用流),但我认为这个示例代码更容易理解
希望这对您有所帮助:)如果您使用Form\u Load,那么您应该异步读取文件,因为任何文件加载时间都会冻结表单的显示。 例如,如果加载文件需要5秒钟,则表单将在5秒钟内不可见 下面是一个使用Task.Run异步加载数据然后显示数据的示例。如果首先显示带有消息“正在加载数据…”的表单,则一旦加载数据,文本框就会更新
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.textBox1.Text = "Loading data...";
LoadData();
}
private async void LoadData()
{
string text = null;
await Task.Run(() =>
{
text = File.ReadAllText("z:\\very_large_file.txt");
});
this.textBox1.Text = text;
}
}
当然,异步加载文件还有很多其他方法(例如使用流),但我认为这个示例代码更容易理解
希望这有帮助:)
textBox1\u TextChanged
不是一个好地方。它是当textBox1.Text
的内容更改时触发的事件。也许是表单加载
?或者单击按钮?更改文本更改事件中的文本不是一个好主意,可能会导致递归调用textBox1\u TextChanged
不是一个好地方。它是当textBox1.Text
的内容更改时触发的事件。也许是表单加载
?或者单击按钮?更改文本更改事件中的文本不是一个好主意,可能会导致递归调用