【发布时间】:2017-08-08 16:15:04
【问题描述】:
我最近遇到了这个非常棘手的问题,希望有人能帮助我。
我有一个程序,它使用轨迹栏来显示音量,它是通过串行由 Arduino 控制的。
当我尝试以任何方法修改跟踪器的值(以编程方式)(移动滑块)时,它与以下代码完美配合:
trackbar1.Value = ...;
但是,当我把它放在我的串行数据处理程序中时,它不起作用:/
我这样声明串行数据处理程序:
//declaring arduinoCom
public SerialPort arduinoCOM;
//In form1
arduinoCOM.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
我的处理程序看起来像这样:
public void DataReceivedHandler(
object sender,
SerialDataReceivedEventArgs e)
{
trackBar2.Value = 50;
}
串行通信完美无缺,处理程序可以正常工作。
我已经尝试了 2 天,我能够确定工作轨迹栏和不工作轨迹栏之间的唯一区别是“trackbar1.value”所在的位置。因此,出于清晰的原因,我已经删除了其余的(我希望)不必要的代码。
所以我的问题是为什么当我尝试在“标准方法”之外修改它的值时,Trackbar 滑块不移动
附加信息:我尝试运行程序,然后使用可视化工作室暂停它,并且轨迹栏已成功更改,唯一不起作用的是图形方面。
我已经测试了多个轨迹栏,并尝试使用
trackbar1.Refresh();
没用
trackbar 1 和 2 的值的图片以及所有 5 的图片: Values of trackbars
【问题讨论】: