| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 738 人关注过本帖
标题:双击任意pictruebox,则移动被双击的picturebox
只看楼主 加入收藏
mskushu
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2011-4-10
结帖率:85.71%
收藏
已结贴  问题点数:10 回复次数:7 
双击任意pictruebox,则移动被双击的picturebox
//双击任意picturebox时,开启timer  
private void pbxiana_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            trMove.Enabled = true;
            trMove.Interval = 1;
            //PictureBox loli = sender as PictureBox(这句应该对,就是这边的loli在下面的函数中不能)
        
   private void timer1_Tick(object sender, EventArgs e)
        {
            PictureBox loli = sender as PictureBox;//貌似这句有错,不知道sender是哪个参数
            if (loli.Location.X > 75)
            {
                loli.Left -= 10;

            }
            if (loli.Location.Y < 490)
                loli.Top += 10;  
      
求指点,求调教
搜索更多相关主题的帖子: private void 
2011-04-11 09:15
五当家
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:2
帖 子:1112
专家分:3674
注 册:2010-10-20
收藏
得分:2 
private void pictureBox1_DoubleClick(object sender, EventArgs e)
        {
            timer1.Enabled = true;

        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            pictureBox1.Top = pictureBox1.Top + 1;
            pictureBox1.Left = pictureBox1.Left + 1;
        }

经验积累中............
2011-04-11 12:39
mskushu
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2011-4-10
收藏
得分:0 
LS只能实现指定的一个图片的移动,我想实现多个,但不想重复写
2011-04-11 19:43
qubo1982
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:367
专家分:1132
注 册:2009-3-18
收藏
得分:0 
程序代码:
private PictureBox loli;//添一个变量就OK了

//双击任意picturebox时,开启timer 
private void pbxiana_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            trMove.Enabled = true;
            trMove.Interval = 1;
            loli = sender as PictureBox;//(这句应该对,就是这边的loli在下面的函数中不能)
private void timer1_Tick(object sender, EventArgs e)
        {
            //PictureBox loli = sender as PictureBox;//貌似这句有错,不知道sender是哪个参数
            //sender是引发这个事件的控件,在timer1的事件中sender就是timer1,在上面那个pbxiana_MouseDoubleClick中,sender就是被双击的pictureBox
            if (loli.Location.X > 75)
            {
                loli.Left -= 10;

            }
            if (loli.Location.Y < 490)
                loli.Top += 10; 
            //这要弄个条件来停止timer1
2011-04-12 08:12
mskushu
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2011-4-10
收藏
得分:0 
额,系统提示我loli没赋值,一直为null,貌似失败了
2011-04-12 12:09
qubo1982
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:367
专家分:1132
注 册:2009-3-18
收藏
得分:6 
那就是你启动timer1的地方不对,要确保双击了一个pictureBox再启动timer1
可以把timer1.Start()放在pbxiana_MouseDoubleClick事件中
2011-04-12 13:52
lwsfyts
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:39
专家分:132
注 册:2011-4-3
收藏
得分:2 
把trMove.Enabled = true;改为trMove.Start();
2011-04-12 14:07
mskushu
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2011-4-10
收藏
得分:0 
额,原来loli前面那句picturebox没去掉--,谢谢各位了
2011-04-12 16:09
快速回复:双击任意pictruebox,则移动被双击的picturebox
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.060652 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved