更新动态生成的StatusStrip中的标签

本文关键字:StatusStrip 标签 动态 更新 | 更新日期: 2023-09-27 18:08:32

我有一个类,其函数根据程序中其他地方的首选项和条件返回状态条。然后将返回的状态条添加到表单中。

如果我使用Visual Studio的设计器,我将能够通过他们的名字访问标签内的strip,因为他们是在表单的类中创建的。由于在另一个类中创建了条带,我不确定如何访问返回的条带中的标签。

//statusStrip is declared as a new StatusStrip() at beginning of this form's class
statusStrip = myStripBuilderClass.GenerateStatusStrip();
this.Controls.Add(statusStrip);
//statusStrip now appears in form with the appropriate labels and such.

假设在statusStrip中有一个名为"mousePosition"的标签,我需要做些什么才能访问mousePosition. text ?当对strip或strip项使用Add()时,它实际上并没有将其添加到类中,因此智能感知不会反映添加的内容。

更新动态生成的StatusStrip中的标签

像所有其他控件一样,StatusStripControls集合,您可以通过其名称访问成员。

所以如果你有一个Label 'mousePosition'在你的StatusStrip 'statusStrip'上,你可以这样设置它的Text:

statusStrip.Controls["mousePosition"].Text = "my mouse is at home";

显然你想为所有的标签等有一个好名字,但'mousePosition'听起来像你做的…

至于IntelliSense,恐怕你只能没有它的支持了。