我已經構建了一個軟件,它從數字秤中檢索重量並將其輸出到WinForms中的標籤中。每次秤的重量發生變化時,它也會在標籤中自動更新。我成功地做到了。從數字秤DLL文件同步更新重量C#
這是我的代碼:
public partial class Form1 : Form
{
private SerialPort port = new SerialPort("COM3", 9600, Parity.None, 8, StopBits.One);
public Form1()
{
InitializeComponent();
port.DtrEnable = true;
port.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
}
private void Form1_Load(object sender, EventArgs e)
{
port.Open();
}
private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
try
{
this.Invoke(new EventHandler(DoUpdate));
}
catch (Exception ex)
{
}
}
private void DoUpdate(object s, EventArgs e)
{
try
{
label1.Text = port.ReadLine();
}
catch (Exception ex)
{
label1.Text = ex.ToString();
}
}
}
現在,我的老闆讓我實現一個.dll文件(類庫)這個代碼。他只是想添加一個參考,稱之爲類,它會返回重量,並且會自動更新。 他只是想使頁面加載一個簡單的呼叫這樣的例子:
Scale sc = new Scale();
label1.text = sc.weight();
我可以成功返回的重量,但它並沒有通過類庫自動更新,這是我用我的類代碼庫(.DLL文件):
public class Scale
{
SerialPort port;
public string weight()
{
try
{
port = new SerialPort(com, 9600, Parity.None, 8, StopBits.One);
if (port.IsOpen == false)
{
port.Open();
}
port.DtrEnable = true;
return port.ReadLine();;
}
catch(Exception ex)
{
return "";
}
}
}
我希望我的解釋清楚。任何幫助代碼? 在此先感謝。
您需要查看數據綁定:https://msdn.microsoft.com/en-us/library/ef2xyb33(v=vs.90).aspx – phoog