各位朋友,我要实现发送窗体抖动功能,第一是如何让对方窗口抖动,第二是如何将这个抖动方法额外写在一个类中, 不将其写在form代码中

解决方案 »

  1.   

    private void button1_Click(object sender, EventArgs e)
      {
      int recordx = this.Left;
      int recordy = this.Top;
      Random random = new Random();
      for (int i = 0; i < 50; i++)
      {
      int x = random.Next(rand);
      int y = random.Next(rand);
      if (x % 2 == 0)
      {
      this.Left = this.Left + x;
      }
      else
      {
      this.Left = this.Left - x;
      }
      if (y % 2 == 0)
      {
      this.Top = this.Top + y;
      }
      else
      {
      this.Top = this.Top - y;
      }
      System.Threading.Thread.Sleep(1);
      }
      this.Left = recordx;
      this.Top = recordy;
      }
      

  2.   

    大哥啊,我不要写在Button事件里面,额外写个类
      

  3.   

    我最近在做类似QQ聊天软件的开发,也碰到了这个问题,也没想到很好的解决方法。我的想法是,能不能发送一个命令给对方,对方接收到这个命令后,就开始抖动自己的窗口。不知道这样可行不可行。此外,顺带问LZ一个问题,就是聊天过程中所发送的图片,怎么实现在本地的保存,就是我们平时使用QQ那样保存图片到本地。谢谢?
      

  4.   

    改变窗口的位置,for循环,思路这样的,具体还得去代码。
      

  5.   


    修改一下wuyq11的代码:
    public void SetLocation(Form frm)
    {
    int recordx = frm.Left;
      int recordy = frm.Top;
      Random random = new Random();
      for (int i = 0; i < 50; i++)
      {
      int x = random.Next(rand);
      int y = random.Next(rand);
      if (x % 2 == 0)
      {
      frm.Left = frm.Left + x;
      }
      else
      {
      frm.Left = frm.Left - x;
      }
      if (y % 2 == 0)
      {
      frm.Top = frm.Top + y;
      }
      else
      {
      frm.Top = frm.Top - y;
      }
      System.Threading.Thread.Sleep(1);
      }
      frm.Left = recordx;
      frm.Top = recordy;
    }