首页 > 解决方案 > 以另一种形式存储数据保护问题

问题描述

我正在尝试将字符串从一个表单存储到另一个表单上的标签。但是,这样做时,它说由于其保护级别而无法完成。有想法该怎么解决这个吗?

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

标签: c#.netwinformsaccess-modifiersprotection

解决方案


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

private System.Windows.Forms.Label lblInitials;

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

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

您还需要创建表单的新实例来访问此属性:

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

推荐阅读