• Hallo allemaal,


    Ik heb voor school een opdracht gekregen om een programma in C# te schrijven waarmee je kan tekenen, de bedoeling is dat als je klikt er een cirkel getekend word en als je op het toetsenbord bijvoorbeeld op de letter A drukt, de letter A op het form getekend word.


    Het tekenen van een cirkel en de tekst word wel geplaatst alleen de letter word niet op de goede plek geplaatst. Het is de bedoeling dat het word neergezet bij de cursor. Nu heb ik Cursor.Position gedaan alleen dan zet die hem er een eindje onder.


    Mijn class:


    Mijn script:


    Ik hoop dat jullie mij kunnen helpen.



    Met vriendelijke groeten,


    Descoo

  • Deze is voor de cirkel en die word wel bij de muis weergegeven alleen de Tekst niet. Ik heb al verschillende dingen geprobeerd zoals MousePosition en Cursor.Position maar krijg het niet werkend.


    Bij de eerst heb ik e.Location gebruikt maar deze werkt niet bij de onderste omdat daar MouseEventArgs daar niet toegevoegd kan worden op een of andere manier.

  • Citaat

    The MousePosition property returns a Point that represents the mouse cursor position at the time the property was referenced. The coordinates indicate the position on the screen, not relative to the control, and are returned regardless of whether the cursor is positioned over the control. The coordinates of the upper-left corner of the screen are 0,0.


    http://msdn.microsoft.com/en-u…ontrol.mouseposition.aspx


    Nou heb ik geen ervaring met C#, maar als ik deze documentatie moet geloven is de waarde van Cursor.Position 0,0 wanneer je muis in de linkerbovenhoek van je scherm staat, en dus niet in de linkerbovenhoek van je venster.


    Of er een dergelijke waarde bestaat die wel de waarde binnen je venster neemt weet ik niet, even doorzoeken zou ik zeggen.


    Dat e.Location niet functioneert is logisch: Het is een Key event en geen Mouse event, de actie heeft dus niets met de muis te maken.

  • In principe kun je dit soort dingen gewoon in de documentatie (API) vinden. Niet dat ik je wil veroordelen dat je dat niet hebt gedaan, je moet tenslotte wel weten waar je moet zoeken.


    De OnKeyPress method:
    http://msdn.microsoft.com/en-u…s.control.onkeypress.aspx


    Het eerste en laatste argument wat deze method meekrijgt is een KeyPressEventArgs object. Dit object staat ook in de API:


    http://msdn.microsoft.com/en-u…ms.keypresseventargs.aspx


    Dit object heeft helaas geen method om een MouseEventArgs object op te vragen en erft ook niet over van MouseEventArgs (en is dus geen MouseEventArgs). Er vanuitgaande dat zelf een MouseEventArgs maken geen optie is, kun je dus niet aan een MouseEventArgs object komen in je OnKeyPress event.


    In wat voor type object staat het tweede stukje code (die twee methoden)?

  • Bedankt voor jullie hulp, ik heb het op de volgende manier gedaan:
    In mijn script heb ik een Point aangemaakt en elke keer als de muis beweegt dus bij MouseMove heb ik gezegd dat die Point geupdate moet worden met e.Location. Nu ik hem aanroep zet hij hem op de goede plek.


    Nogmaals bedankt, topic kan gesloten worden.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!