MainV2界面添加控件
1.添加控件
在MainV2的设计界面,我添加了两个label控件,用来显示电量及GPSHDOP信息
2.在MainV2界面上动态刷新数据
刷新数据的方法 采用timer来定时刷新
在MainV2.cs中,向方法中添加代码
1.在doConnect()方法中
public void doConnect(MAVLinkInterface comPort, string portname, string baud, bool getparams = true)
添加下面这段
//*********MainV2新增控件
Thread t = new Thread(new ThreadStart(GetData));
t.IsBackground = true;
t.Start();
2.doConnect()方法外添加如下代码
//*******定时刷新MainV2控件*****
private void GetData() {
var timer = new System.Timers.Timer();
//设置时间间隔
timer.Interval = 1000;
// 开启定时器
timer.Enabled = true;
//设置是执行一次(false)还是一直执行(true)
timer.AutoReset = true;;
timer.Start();
timer.Elapsed += (o, a) =>
{
SetData();
ShowMessage(string.Format("更新时间:" + DateTime.Now));
};
}
//声明委托
private delegate void SetDataDelegate();
private void SetData()
{
if (this.InvokeRequired)
{
this.Invoke(new SetDataDelegate(SetData));
}
else
{
//label1.Text = string.Format("更新时间:" + DateTime.Now);
}
}
//声明委托
private delegate void ShowMessageDelegate(string message);
private void ShowMessage(string message)
{
if (this.InvokeRequired)
{
ShowMessageDelegate showMessageDelegate = ShowMessage;
this.Invoke(showMessageDelegate, new object[] { message });
}
else
{
textBox1.Text = message;
//用于更新电量等信息
label1.Text = Convert.ToString(comPort.MAV.cs.battery_remaining);
label2.Text = Convert.ToString(comPort.MAV.cs.gpshdop);
}
}
最后效果图
问题:
GPShdop数据有误差
1.MainV2界面修改部分请参考
https://blog.csdn.net/dreamdonghui/article/details/79563629
2.动态刷新数据代码转载至:
https://blog.csdn.net/smartsmile2012/article/details/71423877/