хранение данных в другой форме проблемы защиты - PullRequest
0 голосов
/ 04 декабря 2018

Я пытаюсь сохранить строку из одной формы в метку в другой из.Однако при этом говорится, что это невозможно сделать из-за уровня защиты.Любые идеи о том, как это исправить?

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

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Это еще один способ изменить уровень защиты

Открыть FormInvisible.Designer.cs

Искать private System.Windows.Forms.Label lblInitials;

Изменить модификатор доступа с private на public

или вы можете открыть свойство элемента управления и изменить Modifiers с private на public

enter image description here

0 голосов
/ 04 декабря 2018

Элементы управления создаются в виде частного поля в конструкторе форм:

private System.Windows.Forms.Label lblInitials;

Если вы хотите получить доступ к ним вне формы, вам необходимо создать свойство для них.Чтобы увидеть вышеупомянутое объявление и написать для него свойство, просто щелкните правой кнопкой мыши на lblInitials в своем коде и выберите Перейти к объявлению (или Definition ) в классе, который выПерейдите для написания следующего кода:

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

Также вам нужно создать новый экземпляр вашей формы для доступа к этому свойству:

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