Как получить доступ к значению текстового поля одной WinForm из другой WinForm в том же проекте в C #? - PullRequest
0 голосов
/ 28 января 2010

Я хочу принять новые значения, заполнив новую форму. И я хочу получить доступ к этим значениям элементов управления, присутствующих в новой WinForm. А обновить значения в Current WinForm?

Может ли кто-нибудь помочь мне решить эту проблему.

Thanku !!!!!!!!!!

Ответы [ 3 ]

3 голосов
/ 28 января 2010

Измените свойство модификатора на «Публичный» или «Внутренний» (Friend in VB). Затем вы можете получить к нему доступ как к общедоступному полю.

По мере того, как вы получаете больше опыта работы с Windows Forms, вы можете использовать привязку данных и модели за формой, чтобы вам не приходилось напрямую обращаться к элементам управления, но это намного сложнее.

3 голосов
/ 28 января 2010

Самый простой способ (на мой взгляд) - раскрыть это через свойства.

Пример:

В форме 2

public string MyTextBoxValue
{
    get
    {
        return myTextBox.Text;
    }
    set
    {
        myTextBox.Text = value;
    }
}

В Form1 (при отображении другой формы):

Form2 form2 = new Form2();
form2.MyTextBoxValue = "whatever it should be";
form2.Show();

.. а затем, когда вы хотите прочитать значение из другой формы:

string someVariable = form2.MyTextBoxValue;

Таким образом, Form1 не нужно знать, какой тип элемента управления используется (если есть) для представления значения в Form2, что означает, что это может измениться в Form2 без необходимости каких-либо изменений в коде Form1. Это также позволяет выполнить проверку значения перед его присвоением элементу управления TextBox в Form2 на случай, если могут быть ограничения на допустимые значения.

0 голосов
/ 28 января 2010

Вы можете присвоить значение текстового поля некоторой статической переменной и затем получить доступ к этой переменной в целевой форме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...