C# 将字符串从窗体传递到usercontrol,错误对象引用需要非静态

C# 将字符串从窗体传递到usercontrol,错误对象引用需要非静态,c#,C#,我正在尝试将字符串从窗体传递到usercontrol。我在该网站上搜索并找到以下代码: // form code public string ID { get { return username_txt.Text; } } private void textBox1_TextChanged(object sender, EventArgs e) { EnrollFromMicrophone.ID = ID; } //user control code public stri

我正在尝试将字符串从窗体传递到usercontrol。我在该网站上搜索并找到以下代码:

// form code
public string ID
{
    get { return username_txt.Text; }
}

private void textBox1_TextChanged(object sender, EventArgs e)
{
    EnrollFromMicrophone.ID = ID;
}

//user control code
 public string ID
{
    set { textBox2.Text = value; }
}
现在的问题是,我得到了以下错误:

非静态字段、方法或属性“Neurotec.Samples.EnrollFromMirror.ID.set”需要对象引用


正如错误消息已经建议的那样:您需要一个对象实例来访问非静态字段

而不是:

EnrollFromMicrophone.ID = ID;
你需要:

var enrollFromMicrophone = new EnrollFromMicrophone(); // or get the instance from somewhere
enrollFromMicrophone.ID = ID;
或者将属性设置为静态:

public static string ID { get; set; }

然后在构造函数中使用它来设置
textBox2.Text

在哪里定义了
EnrollFromMirror
?似乎您使用的是类名而不是实例?请注意标记不是关键字。在标签列表中填入与您的问题相同的单词(microsoft、visual、c#),无助于对其进行分类。务必阅读选择标签时出现的说明!