Я новичок в программировании на C #, но я знаю, что атрибуты должны быть инкапсулированы в классе. Поэтому я использовал частную декларацию
private string _servername;
Проблема в том, что я не могу обновить _servername
из 2-й формы.
Я нажал на кнопку ChangeName
. Новый Form2
появился. Я нажал на кнопку NewName
. Методы из Form1 были успешно завершены, и MessageBox в методе _Server2
показал мне, что значение _servername
должно быть "TEST"
Когда я нажимаю кнопку CurrentServerName
, значение _servername
по-прежнему равно «localhost». Не могли бы вы сказать мне, почему? Как это исправить? Заранее спасибо
ФОРМА 1
namespace Test
{
public partial class Form1 : Form
{
private string _servername;
public Form1()
{
InitializeComponent();
_servername = "localhost";
}
public string _Server(string _server)
{
_servername = _server;
string serverlist2 = _server;
_Server2(serverlist2);
return serverlist2;
}
public void _Server2(string _server2)
{
_servername = _server2;
MessageBox.Show(_servername);
}
private void ChangeName_Click(object sender, EventArgs e)
{
Form2 _Form2 = new Form2();
_Form2.Show();
}
private void CurrentServerName_Click(object sender, EventArgs e)
{
MessageBox.Show(_servername);
}
}
}
ФОРМА 2
namespace Test
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void NewName_Click(object sender, EventArgs e)
{
Form1 _Form1 = new Form1();
_Form1._Server("TEST");
this.Close();
}
}
}