问题是如何从跟踪栏获取数据,如hexa数字。我需要的是:在骑行侧获得1到64的值,在另一侧(-1到-64)将获得从81到E4的数据表示数据。 我在最小-64和最大64处设置了我的轨道栏并将默认值设置为0.我的计划是使用如果条件如下:
if (trackBar1.Value <= -1)
{
PM = trackBar1.Value; //any magic code to convert my value
}
else
{
PM = trackBar1.Value;
}
有什么方法可以做到吗?
如果我正确理解您的问题,您就会有一个轨道栏,其值从-64到+64。如果轨迹栏值低于0,则需要将数字从0x81返回到0xE4,并且轨迹栏值高于0时,您需要正常返回1到64之间的数字。
在这种情况下,根据值是否低于0或高于它,执行不同计算的简单情况如下:
if (trackBar1.Value <= -1)
{
PM = 0xE5 + trackBar1.Value;
}
else
{
PM = trackBar1.Value;
}
如果该值低于0,则会将负值添加到0xE5,这将为您提供0x81到0xE4范围内的适当值。
对我来说正确的方法是:
PM = Convert.ToByte(trackBar1.Value);
感谢每个人的帮助。 :-)