这似乎是一个简单的问题,我可以在这里找到一些与之相关的帖子 - 不幸的是 - 最终没有帮助我。
我要做的是访问用户控件中的方法。
我做了什么:设置用户控件" TabContent"像这样:
namespace TabContent
{
public partial class TabContent : UserControl
{
public TabContent()
{
InitializeComponent();
}
public void SetName(string tabname)
{
show_name.Text = tabname; //show_name is a label
}
}
}
现在我正在尝试从我的主应用程序访问它:
using TabContent;
namespace Tab_Test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void buttonItem1_Click(object sender, EventArgs e)
{
UserControl lab = new TabContent.TabContent();
lab.Dock = DockStyle.Fill;
lab.SetText("hallo");
}
}
}
问题是SetText()方法虽然被定义为public,但我不知道,我还使用TabContent"添加了#34;。我遗漏了一些代码,其中创建了一个新选项卡,并在此选项卡中显示了用户控件。这样工作正常,因此用户控件存在并且有效,只是我似乎无法访问这些方法。
感谢您的帮助!
答案 0 :(得分:2)
您的变量属于UserControl
类型,它没有SetName
方法。使用var
功能或将变量设为显式类型TabContent.TabContent
。
private void buttonItem1_Click(object sender, EventArgs e)
{
var lab = new TabContent.TabContent();
lab.Dock = DockStyle.Fill;
lab.SetName("hallo");
}
OR
private void buttonItem1_Click(object sender, EventArgs e)
{
TabContent.TabContent lab = new TabContent.TabContent();
lab.Dock = DockStyle.Fill;
lab.SetName("hallo");
}
答案 1 :(得分:1)
您尝试呼叫SetName
的方法名称为SetText
。并将UserControl lab =
更改为var lab =
或TabContent.TabContent lab =