如何使用具有不同数据表示的轨迹栏?

How to use track bar with different data representation?

问题是如何从轨迹栏获取六边形数字等数据。 我需要的是:在乘车侧获取从 1 到 64 的值,在另一侧(-1 到 -64)将是表示从 81 到 E4 的数据的数据。
我将轨迹栏设置为最小 -64 和最大 64,并将默认值设置为 0。 我的计划是使用 If condition some like this:

if (trackBar1.Value <= -1)
{
    PM = trackBar1.Value; //any magic code to convert my value
}
else
{
    PM = trackBar1.Value;
}

有什么办法吗?

如果我对你的问题的理解正确,你有一个轨迹栏,其值 运行 从 -64 到 +64。 trackbar 值低于 0 的地方,你想要 return 从 0x81 到 0xE4 的数字,而 trackbar 值大于 0 的地方,你想要 return 正常的 1 到 64 的数字。

在这种情况下,这是根据值是低于 0 还是高于 0 执行不同计算的简单情况:

if (trackBar1.Value <= -1)
{
    PM = 0xE5 + trackBar1.Value;
}
else
{
    PM = trackBar1.Value;
}

如果值低于 0,这会将负值添加到 0xE5,这将为您提供 0x81 到 0xE4 范围内的适当值。

对我来说正确的方法是:

PM = Convert.ToByte(trackBar1.Value);

感谢大家的帮助。 :-)