У меня есть две формы окон. Один из них имеет переменную. В этой форме я создал метод GET:C# Как получить переменную в другую форму
public string getUSERID
{
get
{
return userID;
}
}
Во второй форме, я пытаюсь использовать этот метод следующим образом:
private void Form2_Load(object sender, EventArgs e)
{
UserID = Form1.getUSERID();
}
По причинам, я не понимаю, второй форма не распознает getUSERID как жизнеспособный метод для Form1, и я понятия не имею, почему. Я искал форумы, и ответ, который я продолжаю находить, - это именно то, что я сделал: создайте метод «get/set» и активируйте его с помощью FormX.get/set.
Есть ли что-нибудь, что я делаю неправильно здесь?
EDIT: для калибровки. Форма 1 - это первая форма, которая открывается. В то время как она открыта, я открываю форму 2 внутри формы 1 так:
Form Form2 = new Form2();
Form2.Show();
conn.Close();
Hide();
(Соединение, потому что форма 1 не используется соединение до сих пор). Теперь, когда я открываю Form2 перед тем, как скрыть Form1, я думал, что данные в Form1 все равно будут доступны во время FormLoad Form2, поэтому я могу извлечь из него переменную, а затем закрыть Form1.
Подумайте об этом: инициализируется 'Form1'? 'Form1' - это имя класса, вы должны создать его как' Form1 frm = new Form1(); '. После этого вы можете получить доступ к 'frm.getUSERID' – Pikoh
. Вы пытаетесь получить доступ к свойству экземпляра через класс. –
Во всяком случае, я думаю, у вас есть еще одна большая проблема. Попытка прочитать свойство 'Form1' в событии' Load' 'Form2' означает ошибку дизайна. Может быть, вы должны отредактировать свой вопрос и сообщить нам, что вы пытаетесь сделать, например. передача свойства формы в другую форму, создаваемую третьей формой. – Pikoh