程序做到一半了才发现line控件没有事件(不要笑,以前没有用过这个控件),而我要能在窗体上动态生成多条line,并能将选中的删除,该如何解决?望高手赐教!

解决方案 »

  1.   

    可以用PictureBox模拟一个
    (就是将PictureBox做的很窄,让他看上去像一个line)
      

  2.   

    这个我已经试过了,可是picturebox这能水平或竖直放置,而我的工程要求的线能随意放置,而且能够移动!谢谢!
      

  3.   

    用form.ActiveControl.Name可知道是否选中
      

  4.   

    用下面的算法可以进行处理,只是思路,具体还要你自己来实现.
    可以通过下面的思路来模拟一些事件。Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = 1 Then
       If CLng(Sqr(Abs(((Line1.X2 - Line1.X1) * (Line1.Y2 - Line1.Y1))))) = CLng(Sqr(Abs((X - Line1.X1) * (Y - Line1.Y1)))) + CLng(Sqr(Abs((Line1.X2 - X) * (Line1.Y2 - Y)))) Then
          Print "OK"
       End If
    End If
    End Sub
      

  5.   

    to zhenyukeji(何处是我家) 
    刚刚试了一下,Screen.ActiveControl对TextBox有焦点的控件好用,对line,label,image都不好用,也就是说line,label,image永远都不能是ActiveControl,而且,如果窗体上没有TextBox这样有焦点的控件,还会有运行时错误:(
    谢谢!
      

  6.   

    可以定义一个类型数组,类型为X1,Y1,X2,Y2,表示一条线的两点,再用算法在PictureBox里绘画,选择一条线可以用检索数组的方法实现,如果是我,我就会这样做,而且也这样做过,呵呵,比较可行,速度也没问题!
      

  7.   

    to  lxcc(虫莲) ( ) 信誉:100 
    自己画  但怎么画?有没有原程序。
    我也遇到楼主一样的问题,后来用“图片框”代替。虽然可以实现效果
    但总觉得,不妥
    能否发于我的信箱中:
      EMAIL:   [email protected]