如何获得动态创建的标签值?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (34)

我有一个用户控件,它包含一个名为label1,我使用以下代码将用户控件插入到面板中:

        var myControl = new WindowsFormsApp4.library();
        panel1.Controls.Add(myControl);

因此,用户控件中的标签将被注册到面板中,如何编写代码label1.Text值,而标签尚未生成到面板中?

我试着使用这个代码:-

var myControl = new WindowsFormsApp4.library();
string s = myControl.label1.Text

但是它不能工作,因为它创建了一个新的用户控件,而插入到面板值中的用户控件在运行时被更改。

提问于
用户回答回答于

将控件存储在字段中而不是局部变量中。

public partial class Form1 : Form
{
    MyControl _myControl; // Use the real type name for your control here.

    public Form1()
    {
        InitializeComponent();
    }

    ...
}

然后用

_myControl = new WindowsFormsApp4.library();
panel1.Controls.Add(_myControl);

并访问它

string s = _myControl == null ? "" : _myControl.label1.Text;

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动