C# 将字符串从窗体传递到usercontrol,错误对象引用需要非静态
我正在尝试将字符串从窗体传递到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
// 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#),无助于对其进行分类。务必阅读选择标签时出现的说明!