Как рисовать линии в IronPython с помощью Winforms?

Я начал работать с IronPython в #Develop, и мне нравится интеграция с IronPython и Windows Forms, он позволяет вам создавать GUI, как это было на Visual Basic или C#

У меня простой вопрос, как нарисовать линию в PictureBox, когда она нажата? Я нашел этот код про рисование линий, но я знаю, как адаптировать его к PictureBox.

Вот код, который я нашел: http://www.zetcode.com/tutorials/ironpythontutorial/painting/

Итак, что я должен вставить в "def PictureBox1Click(self, sender, e):"?

Любая помощь или руководство будет с благодарностью.

1 ответ

Решение

Вот простой пример, который рисует линию на графическом блоке при щелчке по нему.

import System.Drawing
import System.Windows.Forms

from System.Drawing import *
from System.Windows.Forms import *

class MainForm(Form):
  def __init__(self):
    self.InitializeComponent()
    self.pen = System.Drawing.Pen(System.Drawing.Color.Black);

  def InitializeComponent(self):
    self._pictureBox1 = System.Windows.Forms.PictureBox()
    self._pictureBox1.BeginInit()
    self.SuspendLayout()
    # 
    # pictureBox1
    # 
    self._pictureBox1.Location = System.Drawing.Point(13, 13)
    self._pictureBox1.Name = "pictureBox1"
    self._pictureBox1.Size = System.Drawing.Size(259, 237)
    self._pictureBox1.TabIndex = 0
    self._pictureBox1.TabStop = False
    self._pictureBox1.Click += self.PictureBox1Click
    # 
    # MainForm
    # 
    self.ClientSize = System.Drawing.Size(284, 262)
    self.Controls.Add(self._pictureBox1)
    self.Name = "MainForm"
    self.Text = "PyWinForm"
    self._pictureBox1.EndInit()
    self.ResumeLayout(False)


  def PictureBox1Click(self, sender, e):
    g = self._pictureBox1.CreateGraphics()
    g.DrawLine(self.pen, 10, 10, 400, 200)
Другие вопросы по тегам