我有一个用户控件,其中包含一个名为label1
的标签,我使用以下代码将该用户控件插入到面板中:
var myControl = new WindowsFormsApp4.library();
panel1.Controls.Add(myControl);
因此,用户控件内的标签将被注册到面板中。当标签还没有生成到面板中时,如何编写获取label1.Text
值的代码?
编辑:我尝试使用以下代码:-
var myControl = new WindowsFormsApp4.library();
string s = myControl.label1.Text
但它不起作用,因为它创建了一个新的用户控件,而插入到面板值中的用户控件在运行时被更改。
发布于 2018-07-15 01:04:04
将控件存储在字段中,而不是局部变量中
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;
https://stackoverflow.com/questions/51341009
复制相似问题