Как мне получить доступ к строковой переменной form1 из другого класса?Доступ к переменным form1 из другого класса как?
public partial class Form1: Form
{
public Form1()
{
InitializeComponent();
}
public string deva = "123";
//button
private void button8_Click(object sender, EventArgs e)
{
deva = "456";
}
private void button9_Click(object sender, EventArgs e)
{
Other ks = new Other();
ks.test_me();
}
}
public class Other: Form1
{
//trying to access Form1 variable.
public void test_me()
{
Form1 fm = new Form1();
MessageBox.Show(fm.deva);
//deva is 123 but not 456.
//I clicked on button and values changes it form1 however from here it assigns just default value
}
//
//Does creating a new form1 will reset its values?
//Somebody please help me. how to solve this issue.
}
Да, это будет иметь значение по умолчанию - потому что вы создаете * новый экземпляр * из 'Form1'. Это не будет иметь значений, связанных с любым другим экземпляром 'Form1'. Половина точки объектно-ориентированного программирования состоит в том, что объекты имеют * состояние * ... два разных объекта имеют независимое состояние, поэтому вы не можете попасть в состояние одного объекта, создав другое. В этом случае, поскольку вы «в» экземпляре 'Form1' в любом случае (потому что' Other' наследует от 'Form1'), вы, вероятно, просто хотите' MessageBox.Show (deva); ', доступ к состоянию * этого экземпляра *. –
Какова ваша цель? Получить доступ к нему в другом классе? или отобразить его в том же классе, что и вы попытались внутри button9_click? – snit80