Hi
an simple example with winform
import clr
clr.AddReference('System.Windows.Forms')
clr.AddReference('System.Drawing')
import System.Drawing
import System.Windows.Forms
from System.Drawing import *
from System.Windows.Forms import *
class MainForm(Form):
def __init__(self):
self._Width = 100
self._Height = 100
self._Diameter = 50
self.InitializeComponent()
self.Paint += self.OnPaint
def InitializeComponent(self):
self._numericUpDownHeight = System.Windows.Forms.NumericUpDown()
self._numericUpDownWidth = System.Windows.Forms.NumericUpDown()
self._numericUpDownArc = System.Windows.Forms.NumericUpDown()
self._numericUpDownHeight.BeginInit()
self._numericUpDownWidth.BeginInit()
self._numericUpDownArc.BeginInit()
self.SuspendLayout()
#
# numericUpDownHeight
#
self._numericUpDownHeight.Increment = System.Decimal(System.Array[System.Int32]([10, 0, 0, 0]))
self._numericUpDownHeight.Location = System.Drawing.Point(48, 199)
self._numericUpDownHeight.Maximum = System.Decimal(System.Array[System.Int32]([200, 0, 0, 0]))
self._numericUpDownHeight.Name = "numericUpDownHeight"
self._numericUpDownHeight.Size = System.Drawing.Size(120, 20)
self._numericUpDownHeight.TabIndex = 1
self._numericUpDownHeight.Value = System.Decimal(System.Array[System.Int32]([self._Height, 0, 0, 0]))
self._numericUpDownHeight.ValueChanged += self.NumericUpDownHeightValueChanged
#
# numericUpDownWidth
#
self._numericUpDownWidth.Increment = System.Decimal(System.Array[System.Int32]([10, 0, 0, 0]))
self._numericUpDownWidth.Location = System.Drawing.Point(48, 151)
self._numericUpDownWidth.Maximum = System.Decimal(System.Array[System.Int32]([200, 0, 0, 0]))
self._numericUpDownWidth.Name = "numericUpDownWidth"
self._numericUpDownWidth.Size = System.Drawing.Size(120, 20)
self._numericUpDownWidth.TabIndex = 2
self._numericUpDownWidth.Value = System.Decimal(System.Array[System.Int32]([self._Width, 0, 0, 0]))
self._numericUpDownWidth.ValueChanged += self.NumericUpDownWidthValueChanged
#
# numericUpDownArc
#
self._numericUpDownArc.Increment = System.Decimal(System.Array[System.Int32]([10, 0, 0, 0]))
self._numericUpDownArc.Location = System.Drawing.Point(48, 48)
self._numericUpDownArc.Maximum = System.Decimal(System.Array[System.Int32]([200, 0, 0, 0]))
self._numericUpDownArc.Name = "numericUpDownArc"
self._numericUpDownArc.Size = System.Drawing.Size(120, 20)
self._numericUpDownArc.TabIndex = 2
self._numericUpDownArc.Value = System.Decimal(System.Array[System.Int32]([self._Diameter, 0, 0, 0]))
self._numericUpDownArc.ValueChanged += self.NumericUpDownArcValueChanged
#
# MainForm
#
self.ClientSize = System.Drawing.Size(466, 300)
self.Controls.Add(self._numericUpDownArc)
self.Controls.Add(self._numericUpDownWidth)
self.Controls.Add(self._numericUpDownHeight)
self.Name = "MainForm"
self.Text = "dynamicDraw"
self._numericUpDownHeight.EndInit()
self._numericUpDownWidth.EndInit()
self._numericUpDownArc.EndInit()
self.ResumeLayout(False)
def OnPaint(self, event):
g = event.Graphics
pen = Pen(Color.Gray, 1)
g.FillRectangle(Brushes.Gray, 200, 140, self._Width , self._Height)
g.DrawArc(pen, 200, 40, self._Diameter , self._Diameter, 0, 360)
def NumericUpDownWidthValueChanged(self, sender, e):
self._Width = sender.Value
self.Refresh()
def NumericUpDownHeightValueChanged(self, sender, e):
self._Height = sender.Value
self.Refresh()
def NumericUpDownArcValueChanged(self, sender, e):
self._Diameter = sender.Value
self.Refresh()
objform = MainForm()
objform.ShowDialog()