---
title: "kordinater på klick på picturebox"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/96351-kordinater-på-klick-på-picturebox"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Jymdis"
published: "2004-02-02T14:25:28.000Z"
updated: "2004-02-14T10:24:44.000Z"
replies: 7
views: 308
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/96351-kordinater-på-klick-på-picturebox"
---

# kordinater på klick på picturebox

## #1 — Jymdis, 2004-02-02T14:25Z

Hej!
Jag undrar om det på nåt sätt går att få ut kordinaten på var ett klick på en picturebox ägt rum?
Eller om nån kan peka på en tutorial om hur man gör ett enkelt ritprogram skulle det vara trevligt också =)

tack på förhand

Permalänk: https://www.webforum.nu/p/96351

## #2 — niko, 2004-02-02T19:30Z

*MouseMove*, *MouseDown* och *MouseUp* får koordinaterna relativt Picture-boxens övre vänstra hörn ifrån Windows.

Här är tex ett "komplett" ritprogram:

```
Private Sub Form_Load()
    Picture1.AutoRedraw = True
    Picture1.FillStyle = vbSolid
End Sub

Private Sub Picture1_MouseMove(Button As Integer, _
        Shift As Integer, X As Single, Y As Single)
    If Button = vbKeyLButton Then Picture1.Circle (X, Y), 50
End Sub
```

Permalänk: https://www.webforum.nu/p/1264811

## #3 — Jymdis, 2004-02-03T10:41Z

Jag får 

> 'AutoRedraw' is not a member of 'System.Windows.Forms.PictureBox'.

Det är vb.net jag leker med alltså!

Permalänk: https://www.webforum.nu/p/1268208

## #4 — niko, 2004-02-03T10:59Z

Ja, isåf så får du koordinater/musknappar via *e.X*,  *e.Y* och  *e.Button*  där *e* skickas in i dina musevents. Det står lite om skillnaderna [här](http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon/html/vbcongraphicschangesinvisualbasicnet.asp).

Permalänk: https://www.webforum.nu/p/1268215

## #5 — Jymdis, 2004-02-03T13:51Z

```
Public Class Form1
    Inherits System.Windows.Forms.Form

    Dim form As String
    Dim val1x, val1y, val2x, val2y As Integer
    Dim mycolor As Color
    Dim tjocklek As Integer

 
    Public Sub rektangel()

    End Sub
    Public Sub cirkel()

    End Sub
    Public Sub linje()

    End Sub

    Public Sub rita(ByVal kord As Point)
        Dim punkt As Graphics = Picture1.CreateGraphics
        Dim p As Point = New Point(val1x, val1y)
        Dim d As Point = New Point(val1x, val1y)
        Dim pen1 As Pen = New Pen(mycolor, tjocklek)
        punkt.DrawLine(pen1, val1x, val1y, val2x, val2y)

        punkt.DrawLine(pen1, p, d)

    End Sub

' Klippt bort lite 

    Private Sub Picture1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Picture1.Click

        If val1x = 0 And val1y = 0 Then
            val1x = Int(Picture1.MousePosition.X)
            val1y = Int(Picture1.MousePosition.Y)

            StatusBar1.Text = "X: " & val1x & " Y: " & val1y

            rita(Picture1.MousePosition())
        Else
            val2x = Int(Picture1.MousePosition.X)
            val2y = Int(Picture1.MousePosition.Y)
            StatusBar1.Text = ""
            Select Case form
                Case "rektangel"
                    rektangel()
                Case "cirkel"
                    cirkel()
                Case "linje"
                    linje()
            End Select
            val1x = 0
            val1y = 0
            val2x = 0
            val2y = 0

        End If

    End Sub
```

Är min kod för tillfället, och det fungerar förutom att när man läser in koord  "val1x = Int(Picture1.MousePosition.X)" osv så verkar den ta var på skärmen och inte var på pictureboxen man klickat?

Permalänk: https://www.webforum.nu/p/1268335

## #6 — niko, 2004-02-03T23:50Z

Nu förstår jag ingenting? *MousePosition* är en statisk property på *Control* som mäter relativt skärmen (som du skriver). Du borde inte ens kunna kompilera om du försöker anropa den på en instans.

Kan du inte använda *MouseDown* istf *Click*? Då får du ju tillgång till *e.X* och *e.Y* som ovan.

Permalänk: https://www.webforum.nu/p/1268669

## #7 — Jymdis, 2004-02-13T22:17Z

Jepps, that did the trick =)

Permalänk: https://www.webforum.nu/p/1277554

## #8 — Jymdis, 2004-02-14T10:24Z

Nevermind =)

Permalänk: https://www.webforum.nu/p/1277679

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/96351-kordinater-på-klick-på-picturebox
