#c# #winforms #visual-studio-2012
#c# #winforms — формы #visual-studio-2012
Вопрос:
Мне нужна помощь. В (strvalue = "Hello")
public void PassValue(string strValue)
Почему я не могу использовать этот текст в приведенном ниже методе?
private void Form1_Load(object sender, EventArgs e)
Произойдет ошибка:
«Имя «strValue» не существует в текущем содержимом».
private void Form1_Load(object sender, EventArgs e)
{
label1.text = strValue;
//strValue does not exist
}
public void PassValue(string strValue )
{
strValue = "Hello";
}
Ожидаемый результат, который я ищу, — это strValue , который можно прочитать private void Form1_Load(object sender, EventArgs e)
.
Комментарии:
1. Чего вы пытаетесь достичь? Это не похоже на правильный способ сделать это. Почему вы не принимаете это значение в качестве параметра конструктора? Во всяком случае,
strValue
он ограничен теломPassValue
, поэтомуForm1_Load
не может его видеть.
Ответ №1:
Вы можете сохранить его как переменную-член, а затем установить его при необходимости:
private string m_StrValue;
private void Form1_Load(object sender, EventArgs e)
{
label1.text = m_StrValue;
}
public void PassValue(string strValue )
{
m_StrValue = strValue;
}