Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从.txt中提取文本并将其放入文本框中?_C#_Winforms - Fatal编程技术网

C# 如何从.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所说,如果您想在表单加载后显示文本,可

我对这一点非常陌生,我正在尝试从.txt文件中提取文本并将其输入文本框

我试图从位于我电脑上的文件中读取文本

    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
的内容更改时触发的事件。也许是
表单加载
?或者单击按钮?更改文本更改事件中的文本不是一个好主意,可能会导致递归调用