winforms 以另一种形式存储数据保护问题

rks48beu  于 2023-05-01  发布在  其他
关注(0)|答案(2)|浏览(143)

我试图将一个表单中的字符串存储到另一个表单中的标签中。但是,当这样做时,它说由于其保护级别而不能这样做。有什么解决办法吗?

maskedTxtLogin.Text = FormInvisible.lblInitials.Text();
bxjv4tth

bxjv4tth1#

这些控件在表单设计器中作为 private 字段生成:

private System.Windows.Forms.Label lblInitials;

如果你想在表单之外访问它们,你需要为它们创建一个property。要查看上面的声明并为其编写一个属性,只需右键单击代码中的lblInitials,然后单击 Go to Declaration(或 Definition),在你导航的类中编写以下代码:

public Label LblInitials
{
    get { return lblInitials; }
    set { lblInitials= value; }
}

你还需要创建一个新的窗体示例来访问这个属性:

FormInvisible fr = new FormInvisible();
maskedTxtLogin.Text = fr.LblInitials.Text;
zvms9eto

zvms9eto2#

这是更改保护级别的另一种方法
打开FormInvisible.Designer.cs
查找private System.Windows.Forms.Label lblInitials;
将访问修饰符从private修改为public
也可以打开控件的属性,将**Modifiersprivate更改为public**

相关问题