You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

118 lines
2.0 KiB

3 years ago
using CommClient.Client;
using System;
3 years ago
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
{
3 years ago
private bool isFirstLog = true;
private ICommClient client;
3 years ago
public MainForm()
{
InitializeComponent();
3 years ago
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();
3 years ago
}
}
}