我在部分类(UserControl
)中有一个公共属性,我想从另一个部分类(Form
)访问它。但是我不能称这个属性,即使它是公开的。它们位于相同的namespace
,因此不应该是问题。
部分班级#1(用户控制)
public partial class MyUserControl : UserControl
{
// This is the value I want to read from the main form
public String MyVariableValue
{
get { return cboMyComboBox.Text; }
}
}
部分班级#2(主要表格)
public partial class MyForm : Form
{
// This function should show a message box with the value
private void ShowMyVariable()
{
MessageBox.Show("You have selected: " + MyUserControl.MyVariableValue);
}
}
错误代码:
CS0119' MyForm'是一种类型,在给定的上下文中无效
更新:我在原始代码中遇到了很多错误,这些错误已得到纠正。它是两种不同的形式,之前不清楚,抱歉......
答案 0 :(得分:2)
更改帖子后,我建议如下: 我假设MyForm有一个MyUserControl的实例,这是显示usercontrol所必需的。然后,您访问该实例 变化
MessageBox.Show("You have selected: " + MyForm.MyVariableValue);
到
MessageBox.Show("You have selected: " + _myUserControl.MyVariableValue);
其中_myUserControl是MyUserControl类型的实例变量的名称。 它可能出现在MyForm类的其他部分,即自动生成的部分,看起来像这样:
MyUserControl _myUserControl = new MyUserControl();
this.Controls.Add(_myUserControl);
答案 1 :(得分:0)
访问此修饰符
private void ShowMyVariable()
{
MessageBox.Show("You have selected: " + this.MyVariableValue);
}