using CommClient.Client; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace CommClient { public partial class MainForm : Form { private bool isFirstLog = true; private ICommClient client; public MainForm() { InitializeComponent(); InitInstance(); } private void InitInstance() { chkModbus.CheckedChanged += Chk_CheckedChanged; chkOPCUA.CheckedChanged += Chk_CheckedChanged; chkSdk.CheckedChanged += Chk_CheckedChanged; } private void Chk_CheckedChanged(object sender, EventArgs e) { if (!(sender as RadioButton).Checked) return; InitClient(); } private void InitClient() { if (client != null && client.GetStatus()) { Log("--- Disconnect previous connection ---"); btnDisconnect_Click(null, null); } if (chkModbus.Checked) { client = new ModbusMaster(); Log("--- Run as Modbus mode ---"); } else if (chkOPCUA.Checked) { Log("--- Run as OPCUA mode ---"); } else if (chkSdk.Checked) { Log("--- Run as SDK mode ---"); } } private void ChangeStatus(bool status) { } private void Log(string text) { rtbLog.AppendText((isFirstLog ? "" : Environment.NewLine) + text); isFirstLog = false; ScrollToEnd(); } private void ScrollToEnd() { if (!chkAutoScroll.Checked) return; rtbLog.SelectionStart = rtbLog.Text.Length; rtbLog.ScrollToCaret(); } private void ClearLog() { rtbLog.Clear(); isFirstLog = true; ScrollToEnd(); } private void btnConnect_Click(object sender, EventArgs e) { } private void btnDisconnect_Click(object sender, EventArgs e) { } private void btnRead_Click(object sender, EventArgs e) { } private void btnWrite_Click(object sender, EventArgs e) { } private void btnClear_Click(object sender, EventArgs e) { ClearLog(); } } }