Grazie per la risposta... adesso provo a fare come hai suggerito.

In realtà ho già risolto il mio problema, ma la soluzione che ho adottao non mi piace.

ho usato qualcosa di simile:
codice:
 Public Class Arco

    Dim a As Point
    Dim b As Point
    Dim c As Point
    
    Public Sub New()

    ...
    
    End Sub

     Public Property punto1() As Point
        Get
            Return a
        End Get
        Set(ByVal value As Point)
            a = value
        End Set
    End Property

    Public Property Punto2() As Point
        Get
            Return b
        End Get
        Set(ByVal value As Point)
            b = value
        End Set
    End Property

    Public Property punto3() As Point
        Get
            Return c
        End Get
        Set(ByVal value As Point)
            c = value
        End Set
    End Property

    Public Sub DisegnaArco(ByVal graphics As System.Drawing.Graphics)

    ...
    istruzioni per ricavare i dati necessari a disegnare un arco dati i 3 punti
    ...
        graphics.DrawArc(Pens.Black, X, Y, Width,...)

    End Sub

End Class
e nel modulo uso:
codice:
Dim mioArco As New Arco

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    mioArco.punto1 = New Point(10,10)
    mioArco.Punto2 = New Point(20,20)
    mioArco.punto3 = New Point(30,40)

    End Sub

    Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint

        mioArco.DisegnaArco(e.Graphics)

    End Sub
Mi sarebbe piaciuto poter avere una classe che contiene il metodo DrawArc(pen, punto1, punto2, punto3) anziché DisegnaArco(e.Graphics).