100分求解,遇到一个极度奇怪的问题~~~!!!

soilwork 2004-11-19 01:45:46
用一下带码在MouseMove事件中实现了一个类似喷枪的效果
但当鼠标移动的特别快时就会出现异常,提示“使用了无效参数”
VS提示在i++的地方标上了绿色,为什么呢
有没有什么办法解决??
private void Sprink(MouseEventArgs e)
{
int temp = (int)myPen.Width*3;
for(int i=0;i<10;i++)
{
//把鼠标当前位置加上一个随机数画点
bitmap.SetPixel(e.X+random.Next(-temp,temp),
e.Y+random.Next(-temp,temp),
myPen.Color);
}
}
...全文
132 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
soilwork 2004-11-19
  • 打赏
  • 举报
回复
哦~~~~~··
我也刚刚发现这个问题
多谢了~~~~~~^_^
haiwangstar 2004-11-19
  • 打赏
  • 举报
回复
if((e.X+random.Next(-temp,temp) > bitmap.Width-1) || e.Y+random.Next(-temp,temp)>bitmap.Height-1)

zhouye6666 2004-11-19
  • 打赏
  • 举报
回复
友情UP
haiwangstar 2004-11-19
  • 打赏
  • 举报
回复
bitmap.SetPixel(e.X+random.Next(-temp,temp),
e.Y+random.Next(-temp,temp),


这之前你也不检查一下有没有超出位图的X,Y座标。

很容易越界的吧?
soilwork 2004-11-19
  • 打赏
  • 举报
回复
南河兄能否说具体一点??
520NET 2004-11-19
  • 打赏
  • 举报
回复
LG
xum1983 2004-11-19
  • 打赏
  • 举报
回复
bitmap.SetPixel(e.X+random.Next(-temp,temp),
e.Y+random.Next(-temp,temp),

检查一下你的随机数范围
一半乐事 2004-11-19
  • 打赏
  • 举报
回复
不行就try吧。
haiwangstar 2004-11-19
  • 打赏
  • 举报
回复
1.操作时锁定位图.



2. 也不作越界检查????????????

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧