本帖最后由 cwj731 于 2009-08-19 17:26:43 编辑

解决方案 »

  1.   

    Line 方法
          在对象上画直线和矩形。语法object.Line [Step] (x1, 1) [Step] (x2, y2), [color], [B][F]Line 方法的语法有以下对象限定符和部分:部分 描述 
    object 可选的。 对象表达式,其值为“应用于”列表中的对象。如果object 省略,具有焦点的窗体作为object。 
    Step 可选的。关键字,指定起点坐标,它们相对于由 CurrentX 和 CurrentY 属性提供的当前图形位置。 
    (x1, y1) 可选的。Single (单精度浮点数),直线或矩形的起点坐标。ScaleMode 属性决定了使用的度量单位。如果省略,线起始于由 CurrentX 和 CurrentY 指示的位置。 
    Step 可选的。关键字,指定相对于线的起点的终点坐标。  
    (x2, y2) 必需的。Single (单精度浮点数),直线或矩形的终点坐标。 
    color 可选的。Long (长整型数),画线时用的 RGB 颜色。如果它被省略,则使用 ForeColor 属性值。可用 RGB 函数或 QBColor 函数指定颜色。 
    B 可选的。如果包括,则利用对角坐标画出矩形。 
    F 可选的。如果使用了 B 选项,则 F 选项规定矩形以矩形边框的颜色填充。不能不用 B 而用 F。如果不用 F 光用 B,则矩形用当前的 FillColor 和 FillStyle 填充。FillStyle 的缺省值为 transparent。 
    前面的是可选参数
      

  2.   

    Picture1.Line -(18, -1)这是相对坐标画线用法;
    也就是说:是从上一个结束点画到这个点.
    例如Picture1.Line (0,0)-(500,500)这条句语画线结束点是500,500;
        那么接着执行这条语句Picture1.Line -(18, -1),会从500,500到18,-1画一条线不知道,我说明白了吗~~~~~~~~~~~~~~
      

  3.   

    跪拜高手 VB译成C#
    '设置坐标纸的坐标
    Picture1.Cls
    Picture1.ScaleMode = 0
    Picture1.ScaleMode = 3
    Picture1.Scale (-a1(d - 1, 0) * 0.1, b1 * 2)-(a1(d - 1, 0) * 1.3, -b1 * 2)
    Picture1.DrawWidth = 1
    '注释:绘坐标系的X轴及箭头线
    Picture1.Line (0, 0)-(a1(d - 1, 0) * 1.2, 0), vbBlue
           Picture1.Line (a1(d - 1, 0) * 1.1, b1 * 0.1)-(a1(d - 1, 0) * 1.2, 0), vbBlue
           Picture1.Line -(a1(d - 1, 0) * 1.1, -b1 * 0.1), vbBlue
           Picture1.Print "X "
    '注释:指定位置显示原点O
           Picture1.CurrentX = 0.5
           Picture1.CurrentY = -0.5
           Picture1.Print "O "
    '画上轮廓线
    For i = 0 To d - 2
    Picture1.Line (a1(i, 0), a1(i, 2))-(a1(i + 1, 0), a1(i + 1, 2)), vbBlue
    Next
    '画刻度线适用于弹身总长度大于1m小于10m
    m = Int(a1(d - 1, 0) / 1000)
    Picture1.Line (0, -b1 * 1.4)-((m + 1) * 1000, -b1 * 1.4), vbBlue
    For i = 0 To 11
    Picture1.Line (i * 100 * m, -b1 * 1.4)-(i * 100 * m, -b1 * 1.1), vbBlue
    Picture1.Line (i * 100 * m + 50 * m, -b1 * 1.4)-(i * 100 * m + 50 * m, -b1 * 1.22), vbBlue
    Picture1.CurrentX = i * 100 * m
           Picture1.CurrentY = -b1 * 1.4
           Picture1.Print "" & i * 100 * m