我有一个Windows应用程序,它使用串行端口向微处理器发送消息和从微处理器接收消息。如何访问此方法中的变量
该应用程序工作正常,做什么应该做的。现在,我需要对从串行接收的数据进行一些阐述,我想在SetText方法中访问变量“value”。 如何从其他方法或类访问该变量的内容? 感谢您的帮助。
delegate void SetTextCallback(string text);
private void SetText(string text)
{
if (this.txtOutput.InvokeRequired)
{
SetTextCallback d = new SetTextCallback(SetText);
this.BeginInvoke(d, new object[] { text });
}
else
{
txtOutput.AppendText(text);
}
// capture messages from serial port
if (txtOutput.Text.Length > 0)
{
MatchCollection mc = Regex.Matches(txtOutput.Text, @"(\+|-)?\d+");
if (mc.Count > 0)
{
long value = long.Parse(mc[mc.Count - 1].Value);
if (value > 1 && value < 1000)
{
textBox2.Text = value.ToString();
}
else if (value < 2000 && value > 1000)
{
value = value - 1000;
textBox3.Text = value.ToString();
}
}
}
}
private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
try
{
SetText(serialPort1.ReadExisting());
}
catch (Exception ex)
{
SetText(ex.ToString());
}
}
通过传递它,或使其公开或使其他方法/类别可达到。 – Patashu 2013-04-26 10:42:51
公开财产? – DGibbs 2013-04-26 10:43:04
创建一个属性是全球.. – pordi 2013-04-26 10:43:58