using DevExpress.Utils.Extensions;
|
using DevExpress.XtraEditors;
|
using DevExpress.XtraEditors.Controls;
|
using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Data;
|
using System.Drawing;
|
using System.IO.Ports;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using System.Windows.Forms;
|
|
namespace IBox.WinFrmUI
|
{
|
public partial class ProtocolModbus : DevExpress.XtraEditors.XtraUserControl
|
{
|
public ProtocolModbus()
|
{
|
InitializeComponent();
|
SetSelectData();
|
}
|
|
public IBoxProtocolViewModel GetData()
|
{
|
var model = new IBoxProtocolViewModel();
|
model.Port = this.textEditPort.Text;
|
model.BaudRate = int.Parse((this.textEditBaudRate.SelectedItem as ImageComboBoxItem).Value.ToString());
|
model.dataBits = int.Parse(this.textEditDataBits.Text);
|
model.stopBits = this.textEditStopBits.Text == "1" ? StopBits.One : StopBits.None;
|
model.StationNumber = int.Parse(this.textEditStationNumber.Text);
|
return model;
|
}
|
|
private void SetSelectData()
|
{
|
var baudRates = new dModbus().BaudRate();
|
baudRates.ForEach(baudRate =>
|
{
|
this.textEditBaudRate.Properties.Items.Add(baudRate.Key.ToString(), baudRate.Value, -1);
|
});
|
this.textEditBaudRate.SelectItemByDescription("9600");
|
}
|
|
public void SetData(IBoxProtocolViewModel model)
|
{
|
this.textEditPort.Text = model.Port;
|
this.textEditBaudRate.EditValue = model.BaudRate;
|
this.textEditDataBits.Text = model.dataBits.ToString();
|
this.textEditStopBits.Text = model.stopBits.ToString()=="One"?"1":"0";
|
this.textEditStationNumber.Text = model.StationNumber.ToString();
|
}
|
}
|
}
|