试图通过这个图形子程序,但是有问题

时间:2019-05-09 16:28:55

标签: vb.net graphics subroutine

当前有一些从列表视图中填充的项目可以打印,而我没有子例程即可完成此操作,但是我想组织代码并将每个部分放在自己的子例程中。

ive尝试将其放在子例程中,就像我处理代码的其他部分一样,但是这些部分都与图形无关。

    Using p As New Pen(Color.Gray)
        Dim t As Graphics = e.Graphics
        p.DashStyle = DashStyle.Custom
        Dim pattern() As Single = {3, 4, 3, 4}
        p.DashPattern = pattern
        t.DrawLine(p, 415, 0, 415, 1100)
        t.DrawLine(p, 0, 535, 850, 535)
    End Using

这段代码基本上在页面上垂直和水平地绘制了虚线,并且可以工作,但是我希望能够从子例程中调用它。

当我像以前一样将其放在一个子例程中时,由于将e作为图形传递给错误,不知道这意味着什么或如何解决它,我在这里的论坛上搜索了另一个有类似问题的人,然后我尝试遵循这些步骤,编译完成,但是当我运行它时,它没有打印行。

1 个答案:

答案 0 :(得分:2)

您的子例程可能看起来像这样,

  Sub InsertRowsAtValueChange()
    'Update 20140716
    Dim Rng As Range
    Dim WorkRng As Range
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
    Application.ScreenUpdating = False
    For i = WorkRng.Rows.Count To 2 Step -1
    If WorkRng.Cells(i, 1).Value <> WorkRng.Cells(i - 1, 1).Value Then
        WorkRng.Cells(i, 1).EntireRow.Insert
    End If

    Next
    Application.ScreenUpdating = True

End Sub

打来电话

Private Sub DrawDashes(g As Graphics)
    Using p As New Pen(Color.Gray)
        p.DashStyle = DashStyle.Custom
        Dim pattern() As Single = {3, 4, 3, 4}
        p.DashPattern = pattern
        g.DrawLine(p, 415, 0, 415, 1100)
        g.DrawLine(p, 0, 535, 850, 535)
    End Using
End Sub