2

这是我的工作代码:

string outputpath = @"C:\today\abc.txt";
var outputdata = query.ToList();
File.AppendAllLines(outputpath, outputdata);

现在,我不想在代码中定义“输出路径”,而是将其设置为等于文本框的内容。

string outputpath = textBox1.Text;

这不编译。我究竟做错了什么?

编辑:我得到的错误是“错误 1,字段初始化程序无法引用非静态字段、方法或属性 'WindowsFormsApplication1.Form1.textBox1'。

4

1 回答 1

1

看起来您正在尝试根据非静态对象的值初始化字段。您不能这样做,因为在初始化期间该对象不存在。

这不好:

public class Form
{
    TextBox textBox1;
    string outputPath = textbox1.Text;
}

这应该可以工作,尽管该值可能是一个空字符串:

public class Form
{
    TextBox textBox1;
    string outputPath;

    public Form()
    {
        outputPath = textBox1.Text;
    }
}

但是您可能想要的是挂钩按钮的 OnClick 事件或类似事件,以将 textBox1.Text 值分配给 outputpath。

于 2013-10-04T18:42:03.057 回答