Я создал проект в приложении формы C # windows в Visual Studio 2010 и .net Framework версии 4.0.
В моем проекте главная форма содержит другую форму с именем Communication
.Форма связи имеет пять комбинированных полей для настроек COM-порта и кнопку подключения.Когда я выбираю элементы из выпадающего списка в поле со списком и нажимаю кнопку подключения, текст на кнопке показывает отключение.Тогда я закрою форму связи. Компорт подключается.
Моя главная проблема заключается в том, что, когда я снова открываю форму для отключения связи.Я хочу, чтобы в поле со списком были те же элементы, а текст на кнопке показывает «Отключение», как и раньше.
Я не знаю, как это сделать.Пожалуйста, помогите мне решить эту проблему.Заранее спасибо.
Код для формы связи
public partial class Connect : Form
{
public bool Connect_Status = false;
public Connect()
{
InitializeComponent();
COM_List();
}
private void COM_List()
{
for (int i = 0; i < CommPortManager.Instance.GetCommList().Count; i++)
{
cb_CommPort.Items.Add(CommPortManager.Instance.GetCommList()[i]);
}
}
private void btn_Connect_Click(object sender, EventArgs e)
{
CommPortManager.Instance.PortName = cb_CommPort.Text;
CommPortManager.Instance.BaudRate = cb_BaudRate.Text;
CommPortManager.Instance.Parity = cb_Parity.Text;
CommPortManager.Instance.StopBits = cb_StopBits.Text;
CommPortManager.Instance.DataBits = cb_DataBits.Text;
if ((cb_CommPort.Text == "") || (cb_BaudRate.Text == "") || (cb_Parity.Text == "") || (cb_DataBits.Text == "") || (cb_StopBits.Text == ""))
{
MessageBox.Show("Please select all communication settings and then Save", "TestCertificate", MessageBoxButtons.OK, MessageBoxIcon.Information);
Connect_Status = false;
}
else
{
if (CommPortManager.Instance.COM_Open() == false)
{
MessageBox.Show("Could not open the COM port. Most likely it is already in use, has been removed, or is unavailable.", "TestCertificate", MessageBoxButtons.OK, MessageBoxIcon.Information);
Connect_Status = false;
}
else
{
CommPortManager.Instance.COM_Close();
Connect_Status = true;
btn_Connect.Text = "Disconnect";
}
}
}
private void btn_Close_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
И Код для основной формы, где эта форма связи открыта
private void connectToolStripMenuItem_Click(object sender, EventArgs e)
{
Connect connect = new Connect();
connect.ShowDialog();
if (connect.Connect_Status == true)
{
lb_Comm.Text = String.Format("Connected to '{0}'", connect.cb_CommPort.SelectedItem);
}
else
{
CommPortManager.Instance.COM_Close();
lb_Comm.Text = "Not Connected";
}
}