微软trackbar控件的bug一例

本文探讨了微软Trackbar控件的一个特定Bug,当尝试从Chart控件中获取坐标轴最小值和最大值并赋值给Trackbar时,尽管转换为整数类型,Trackbar的最小值和最大值仍被错误地设置为-2147483648。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

微软trackbar控件的bug一例

设置trackbar的最大值最小值时,只能使用这种形式:

trackBar1.Minimum = -50;
trackBar1.Maximum = 50;

或

int minimum=-50;
int maximum=50;
trackBar1.Minimum = minimum;
trackBar1.Maximum = maximum;

或
int minimum=(int)-50.0;
int maximum=(int)50.0;
trackBar1.Minimum = minimum;
trackBar1.Maximum = maximum;

而如果使用这种方式,就会出错。即使在逻辑上(计算结果上是int类型)。

trackBar1.Minimum=(int)chart1.ChartAreas[0].AxisY.Minimum;
trackBar1.Maximum=(int)chart1.ChartAreas[0].AxisY.Maximum;

或

int minimum = (int)chart1.ChartAreas[0].AxisY.Minimum;
int maximum = (int)chart1.ChartAreas[0].AxisY.Maximum;

trackBar1.Minimum = minimum;
trackBar1.Maximum = maximum;

//chart1.ChartAreas[0].AxisY.Minimum 返回结果是double型
//经断点测试 (int)chart1.ChartAreas[0].AxisY.Minimum 值为int,等于Y轴坐标最小值;
//(int)chart1.ChartAreas[0].AxisY.Maximum 值为int,等于Y轴坐标最大值。
//但为 trackbar执行赋值操作后,测试得trackBar1.Minimum与trackBar1.Maximum都为-2147483648
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值