Я пытаюсь добиться рисования прямоугольника вокруг центра положения мыши. Для этого я чувствую, что мне нужно получить координату x и y как int.Как получить координату x и y mouseClick
(Это редактируется код и e.X
или e.Y
это решение этого вопроса)
let mouseClick (e: MouseEventArgs) =
let x = e.X
let y = e.Y
let coords = [|System.Drawing.Point((x-10),(y-10));
System.Drawing.Point((x-10),(y+10));
System.Drawing.Point((x+10),(y+10));
System.Drawing.Point((x+10),(y-10));
System.Drawing.Point((x-10),(y-10))|]
window.Paint.Add(fun e -> e.Graphics.DrawLines(pen, coords))
window.MouseClick.Add mouseClick
Я попытался с помощью e.Location
свойства, которое не работает, которая имеет смысл, в некоторой степени, так как, когда я напечатать то он печатает «x = (некоторое число) y = (некоторое число)»
Может ли кто-нибудь помочь мне получить координату x и y как int?
Вы пытались прочитать [документацию] (https://msdn.microsoft.com/en-us/library/system.windows.forms.mouseeventargs (v = vs.110) .aspx # Anchor_3)? существует 'eX' и' eY' (и даже если не 'e.Location' имеет тип' Point', который также имеет свойства 'X' и' Y') – Sehnsucht
Что я не совсем понимаю, так это то, что 'mouseClick 'имеет тип' MouseEventArgs -> Point [] ', и все же в последней строке вы используете его как значение типа' Point [] '. Разве вы не забудете применить некоторые аргументы? – Sehnsucht
Я редактировал свой код для чего-то другого. Sehnsucht. Пожалуйста, со мной. Два дня назад я вошел в F # и winforms. Все еще пытаюсь понять основы. Новый код, однако, также вызывает проблему. Это действительно рисует прямоугольник в нужном месте, но я должен минимизировать и максимизировать окно, чтобы получить его, чтобы обновить окно. Но я думаю, это проблема для другого вопроса. – Nulle