tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
7592
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Christoph1972 Christoph1972 ist offline Mitglied Gold
    Registriert seit
    Mar 2005
    Beiträge
    147
    Hallo

    Ich versuche gerade ein Prozessleitsystem zu simulieren, mit Behältern, Pumpen, Ventilen usw. Nun möchte ich die Bauteile, die ich mit Fireworks gezeichnet habe, mit Linien verbinden. Könnte mir mal jemand sagen, wie ich am Einfachsten Linien zeichnen kann, oder mir sagen wo ich ein Tutorial, oder Beispiel finde? Ich habe schon mal was gesehen, nur kann ich es nicht mehr finden.

    Gruß
    Christoph
     

  2. #2
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    GDI+ ist das Zauberwort.

    Unter den Tutorials gibt es eines (http://www.tutorials.de/tutorials155061.html), das sich mit diesem Thema beschäftigt. Die Codebeispiele sind zwar in C#, aber alleine durch das Lesen des Textes weißt du was du machen musst.

    Ansonsten solltest du mit GDI+ als Suchwort im Google jede Menge Tutorials und Artikel finden.
     

  3. #3
    Christoph1972 Christoph1972 ist offline Mitglied Gold
    Registriert seit
    Mar 2005
    Beiträge
    147
    Oh, ich denke das ich dann die ganze Oberfläche mit Fireworks mache und diese dann mit einer Picturebox importiere. So braucht man ja ewig um die Linien dahin zubekommen, wo sie hin sollen. Oder ist das keine gute Lösung?

    Gruß
    Christoph
     

  4. #4
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Da kann ich dir keine Antwort darauf geben. Ich weiß ja nicht ob dein Tool da dynamisch oder statisch sein soll etc.

    Und eine Linie zu zeichnen is nun wohl wirklich nicht der Aufwand.
     

  5. #5
    Christoph1972 Christoph1972 ist offline Mitglied Gold
    Registriert seit
    Mar 2005
    Beiträge
    147
    Das Tool wird dann wohl zwangläufig statisch Es werden aber deutlich mehr als nur eine Line und Winkel kommen auch noch dazu.


    Gruß
    Christoph
     

  6. #6
    Christoph1972 Christoph1972 ist offline Mitglied Gold
    Registriert seit
    Mar 2005
    Beiträge
    147
    So mache ich das:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
     Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
            
            Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Black, 3)
            Dim formGraphics As System.Drawing.Graphics
            formGraphics = Me.CreateGraphics()
     
            formGraphics.DrawLine(myPen, 373, 249, 373, 355)
     
     
            'Dieser teil erstellt einen gestrichelten Stift
            '-----------------------------------------------
            Dim myPen3 As New System.Drawing.Pen(System.Drawing.Color.Black, 1)
            e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias
            myPen3.DashStyle = Drawing2D.DashStyle.Dash
     
            formGraphics.DrawLine(myPen, 373, 249, 373, 355)
            '-----------------------------------------------
     
    End Sub
     

  7. #7
    Christoph1972 Christoph1972 ist offline Mitglied Gold
    Registriert seit
    Mar 2005
    Beiträge
    147
    So, da das zeichnen per Code doch recht mühsam ist, habe ich nun meine Linie in ein UserControl gepackt. Einfach folgenden Code in ein UC kopieren und dann könnt ihr eure Linien einfach aufs Form setzen und beliebig verändern.


    Der Code ist für eine horizontale Linie:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    Private Sub ucLinie_OnPaint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
     
            Dim X As Integer = Me.Width
            Dim Stiftbreite As Integer = 4
            Me.Height = Stiftbreite - 1
            Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Black, Stiftbreite)
     
            e.Graphics.DrawLine(myPen, 0, 2, X, 2)
     
        End Sub

    Dieser für eine vertikale Linie:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    Private Sub ucLinieVertikal_OnPaint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
     
            Dim X As Integer = Me.Height
            Dim Stiftbreite As Integer = 4
            Me.Width = Stiftbreite - 1
            Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Black, Stiftbreite)
     
            e.Graphics.DrawLine(myPen, 2, 0, 2, X)
     
        End Sub

    Ich werde mir auch noch was überlegen, wie man das mit einem UC lösen kann.

    Gruß
    Christoph
     

Ähnliche Themen

  1. Linie Zeichnen
    Von Saban im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 20
    Letzter Beitrag: 28.03.09, 12:34
  2. Linie zeichnen?
    Von Jacizzle im Forum .NET Windows Forms
    Antworten: 3
    Letzter Beitrag: 17.04.08, 23:06
  3. Linie zeichnen
    Von cytrics im Forum Flash Plattform
    Antworten: 2
    Letzter Beitrag: 09.05.07, 10:44
  4. Linie zeichnen
    Von darko-micic im Forum C/C++
    Antworten: 9
    Letzter Beitrag: 13.04.05, 21:22
  5. Linie Zeichnen
    Von Danjal im Forum Flash Plattform
    Antworten: 7
    Letzter Beitrag: 30.03.05, 22:07