【发布时间】:2019-09-10 22:57:42
【问题描述】:
我正在使用 C# 在 Visual Studio 2010 中构建一个简单的应用程序,我这样做是为了熟悉用户控件,因为它似乎比创建多个表单更容易。
在主窗体上有一个下拉列表,其中包含 2 个值,“UCType1”和“UCType2”。我创建了 2 个不同的用户控件。我在主窗体上使用面板根据他们在下拉列表中选择的内容显示用户控件。
我能够根据用户选择显示适当的用户控件,但现在我遇到了一些问题。我无法让主窗体从用户控件中读取数据。
假设主窗体上有一个按钮“Execute”和一个标签“Warning”。用户控件上有一个文本框“Name”。
场景是:当用户点击“Execute”时,如果“Name”为空,“Warning”会显示一些错误信息。
我试图在主窗体上使用if(UserControl1.Name.Text == ""),但我什至不能这样引用它。
我知道我可以创建单独的表单以使其更容易,因为这会使所有变量都在同一个文件中,但我想知道是否有办法通过用户控制来做到这一点,因为我想熟悉它.
谢谢
这就是我显示用户控件的方式
private void ComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
UCType1 uc1 = new UCType1();
panel1.Controls.Clear();
panel1.Controls.Add(uc1);
}
当我试图显示来自用户控件的数据时
private void executeButton_Click(object sender, EventArgs e)
{
UCType1 uc1 = new UCType1();
warning.Text = uc1.Name;
}
什么都没发生。
【问题讨论】:
-
这对你有用吗??
标签: c# forms user-controls