生成了一组控件,怎么分清楚哪个是哪个? i的值什么时候改变?你在操作时最好定义好数组I(或是计算出I的值)然后在操作 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 to: zhanghw20030303(冰山一角) ,xum1983(夜枭) 我省略了前面的代码,现加上private int x0,y0,x=-1,y,i=0,k; private Bitmap bmp; private PictureBox[] ptb=new PictureBox[20]; 是字符溢出的问题吧,我把i=i+1;加到this.ptb[i] = new PictureBox();之前就不出错了,但是,我只能移动最后一个PictureBox,我知道SendMessage(this.ptb[i].Handle,WM_SYSCOMMAND,SC_MOVE+HTCAPTION, 0);肯定有问题,因为i赋值后固定,怎么办 ptb_MouseDown方法中的i 定义在哪里? 最好是在Form1_MouseUp中判断当前的PictureBox的索引然后在进行操作 to: zhanghw20030303(冰山一角) ,其实我应该在 ptb_MouseDown中判断PictureBox的索引,最土的方法是判断鼠标位置,但是很麻烦 你的i定义在外面;在private void Form1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)中最后执行 i+1数组已经越界了 在SendMessage(this.ptb[i].Handle,WM_SYSCOMMAND,SC_MOVE+HTCAPTION, 0); }中的this.ptb[i]当然是一个空值所以抛出空引用异常 TO:xum1983(夜枭) 请看三楼的问题 To:wsjdx(猫)可能我没有表述清楚,你每次执行this.ptb[i] = new PictureBox();之后执行i+1;问题就出在这里之后在SendMessage(this.ptb[i].Handle,WM_SYSCOMMAND,SC_MOVE+HTCAPTION, 0);中的this.ptb[i]是不会有值的你可以改成this.ptb[i-1]..... TO:xum1983(夜枭),我已经调通了,和你说的方法一样,只是在ptb_MouseDown事件中我不知道当前鼠标在哪个控件上,因为按我原来的做法,我只能移动最后加上的一个控件 我认为你可以在控件中设置一个属性 selected 用来标志那一个被选中 还有就是在PictureBox控件外面包一层UserControl,在里面重写鼠标事件 TO:xum1983(夜枭) ,有一种方法是得到鼠标当前位置控件,这样的话就容易做了,只是我还没有调通 TO:xum1983(夜枭)家里没上网,如果你上的话,这两天麻烦你顶顶 To:wsjdx(猫)得到当前位置控件?如何实现的? 怎么在编程的路途中有进一步的境界提升还能从中得到和谐美好的心境 (保证结贴给分)高手看看我这个界面布局,是不是应该用MDI,请多给些意见 Calendar 取时间问题 我智商绝对没有问题, 但我不理解索引器??? 怎么把数据库表的文件导出? WINFROM中,CheckBox的绑定问题。。。在线等。。。 wpf中浏览器的滚动条问题 【求助】怎么样把SQL里DTS包转换成可以在查询分析器里运行的代码? 如何在两个窗体间传递参数的问题,谢谢 请问怎么解决数学公式录入问题 怎么遍历一个FORM上的所有控件? 日期问题
我省略了前面的代码,现加上
private int x0,y0,x=-1,y,i=0,k;
private Bitmap bmp;
private PictureBox[] ptb=new PictureBox[20];
肯定有问题,因为i赋值后固定,怎么办
数组已经越界了
中的this.ptb[i]当然是一个空值
所以抛出空引用异常
问题就出在这里之后在SendMessage(this.ptb[i].Handle,WM_SYSCOMMAND,SC_MOVE+HTCAPTION, 0);
中的this.ptb[i]是不会有值的你可以改成this.ptb[i-1].....
家里没上网,如果你上的话,这两天麻烦你顶顶
得到当前位置控件?如何实现的?