Как рисовать линии в 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)