Dùng ngôn ngữ lập trình C# của bộ Visual Studio 2008 để tạo ra một bộ form điều khiển với giao diện dễ nhìn và dễ sử dụng cho ngƣời điều khiển.
Đầu tiên mở Visual Studio 2008, chọn new project.
Sau đó chon Windows Forms Application và đặt tên cho chúng. Đƣa đến cho chúng ta một giao diện lập trình Form.
Bằng cách dùng những Lable, Button, Checkbox, Combobox, Piturebox trên thanh Toolbox kéo thả vào nơi thiết kế form.
Và cuối cùng ta viết code vào để điều khiển bằng cách click double chuột vào từng thành phần của form.
Và sao đây là toàn bộ code của chƣơng trình nhƣ sau: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; using System.IO.Ports; using System.Xml; namespace Giao_dien {
public partial class Form1 : Form {
SerialPort P = new SerialPort(); string InputData = string.Empty;
delegate void SetTextCallback(string text); public Form1()
{
InitializeComponent();
string[] ports = SerialPort.GetPortNames(); Cbcom.Items.AddRange(ports); P.ReadTimeout = 1000; string [] BaudRate = { "1200", "2400", "4800", "9600", "19200", "38400", "57600", "115200" }; Cbbaud.Items.AddRange (BaudRate); string[] Databits = {"6", "7", "8" }; Cbdata.Items.AddRange(Databits);
string[] Parity = { "None", "Odd", "Even" }; Cbparity.Items.AddRange(Parity);
Cbstop.Items.AddRange(Stopbit); }
private void Cbcom_SelectedIndexChanged(object sender, EventArgs e) { if (P.IsOpen) { P.Close(); } P.PortName = Cbcom.SelectedItem.ToString(); }
private void Cbbaud_SelectedIndexChanged(object sender, EventArgs e) { if (P.IsOpen) { P.Close(); } P.BaudRate = Convert.ToInt32(Cbbaud.Text); }
private void Cbdata_SelectedIndexChanged(object sender, EventArgs e) { if (P.IsOpen) { P.Close(); } P.DataBits = Convert.ToInt32(Cbdata.Text); }
private void Cbparity_SelectedIndexChanged(object sender, EventArgs e) { if (P.IsOpen) { P.Close(); } switch (Cbparity.SelectedItem.ToString()) { case "Old": P.Parity = Parity.Odd; break;
case "None": P.Parity = Parity.None; break; case "Even": P.Parity = Parity.Even; break; } }
private void Cbstop_SelectedIndexChanged(object sender, EventArgs e) { if (P.IsOpen) { P.Close(); } switch (Cbstop.SelectedItem.ToString()) { case "1": P.StopBits = StopBits.One; break; case "1.5": P.StopBits = StopBits.OnePointFive; break; case "3": P.StopBits = StopBits.Two; break; } }
private void Form1_Load(object sender, EventArgs e) { Cbcom.SelectedIndex = 0; Cbbaud.SelectedIndex = 3; Cbdata.SelectedIndex = 2; Cbparity.SelectedIndex = 0; Cbstop.SelectedIndex = 0; }
private void ketnoi_Click(object sender, EventArgs e) { try { P.Open(); ngatketnoi.Enabled = true; ketnoi.Enabled = false; }
catch (Exception ex) {
MessageBox.Show("Don't connect!", "Information", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
private void ngatketnoi_Click(object sender, EventArgs e) {
P.Close();
ketnoi.Enabled = true; ngatketnoi.Enabled = false; }
private void exit_Click(object sender, EventArgs e) {
DialogResult kq = MessageBox.Show("Do you want to exit the program?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (kq == DialogResult.Yes) {
this.Close(); }
}
private void Ck_den1_CheckedChanged(object sender, EventArgs e) {
if (Ck_den1.Checked) P.Write("a"); else P.Write("b");
}
{
if (Ck_den2.Checked) P.Write("c"); else P.Write("d");
}
private void Ck_den3_CheckedChanged(object sender, EventArgs e) {
if (Ck_den3.Checked) P.Write("e"); else P.Write("f");
}
private void Ck_den4_CheckedChanged(object sender, EventArgs e) {
if (Ck_den4.Checked) P.Write("g"); else P.Write("h");
}
private void Ck_den5_CheckedChanged(object sender, EventArgs e) {
if (Ck_den5.Checked) P.Write("i"); else P.Write("j");
}
private void Ck_den6_CheckedChanged(object sender, EventArgs e) {
if (Ck_den6.Checked) P.Write("k"); else P.Write("l");
}
private void Ck_den7_CheckedChanged(object sender, EventArgs e) {
if (Ck_den7.Checked) P.Write("m"); else P.Write("n");
}
private void Ck_den8_CheckedChanged(object sender, EventArgs e) {
if (Ck_den1.Checked) P.Write("o"); else P.Write("p");
}
{
P.Write("q");
if (Ck_den1.Checked) Ck_den1.Checked = false; if (Ck_den2.Checked) Ck_den2.Checked = false; if (Ck_den3.Checked) Ck_den3.Checked = false; if (Ck_den4.Checked) Ck_den4.Checked = false; if (Ck_den5.Checked) Ck_den5.Checked = false; if (Ck_den6.Checked) Ck_den6.Checked = false; if (Ck_den7.Checked) Ck_den7.Checked = false; if (Ck_den8.Checked) Ck_den8.Checked = false; }
} }