Winform python with SharpDevelop

Hi all,

Probably an easy question:
I just started to make a User Input inside python.
I found a program that helps me to create the form (SharpDevelop).
The form is created but I don’t have output.
How can I receive outputs?

import clr
import sys

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 Gebruikersinvoer(Form):
	def __init__(self):
		self.InitializeComponent()
	
	def InitializeComponent(self):
		self._combov_verd = System.Windows.Forms.ComboBox()
		self._button1 = System.Windows.Forms.Button()
		self._label2 = System.Windows.Forms.Label()
		self._label3 = System.Windows.Forms.Label()
		self._label4 = System.Windows.Forms.Label()
		self._text_projectnr = System.Windows.Forms.TextBox()
		self._text_projectnaam = System.Windows.Forms.TextBox()
		self._label1 = System.Windows.Forms.Label()
		self._text_blok = System.Windows.Forms.TextBox()
		self._label5 = System.Windows.Forms.Label()
		self._text_tek = System.Windows.Forms.TextBox()
		self._combo_formaat = System.Windows.Forms.ComboBox()
		self._label6 = System.Windows.Forms.Label()
		self.SuspendLayout()
		# 
		# combov_verd
		# 
		self._combov_verd.FormattingEnabled = True
		self._combov_verd.Items.AddRange(System.Array[System.Object](
			["00 fundering",
			"01 verdieping",
			"02 verdieping",
			"03 verdieping",
			"04 verdieping",
			"05 verdieping",
			"06 verdieping",
			"07 verdieping",
			"08 verdieping",
			"09 verdieping",
			"10 verdieping",
			"11 verdieping",
			"12 verdieping",
			"13 verdieping",
			"14 verdieping",
			"15 verdieping",
			"16 verdieping",
			"17 verdieping",
			"18 verdieping",
			"19 verdieping",
			"20 verdieping"]))
		self._combov_verd.Location = System.Drawing.Point(294, 127)
		self._combov_verd.Name = "combov_verd"
		self._combov_verd.Size = System.Drawing.Size(121, 21)
		self._combov_verd.TabIndex = 0
		self._combov_verd.SelectedIndexChanged += self.ComboBox1SelectedIndexChanged
		# 
		# button1
		# 
		self._button1.Location = System.Drawing.Point(303, 205)
		self._button1.Name = "button1"
		self._button1.Size = System.Drawing.Size(112, 27)
		self._button1.TabIndex = 2
		self._button1.Text = "Voltooien"
		self._button1.UseVisualStyleBackColor = True
		self._button1.Click += self.Button1Click
		# 
		# label2
		# 
		self._label2.Location = System.Drawing.Point(27, 25)
		self._label2.Name = "label2"
		self._label2.Size = System.Drawing.Size(111, 23)
		self._label2.TabIndex = 1
		self._label2.Text = "Projectnummer"
		# 
		# label3
		# 
		self._label3.Location = System.Drawing.Point(27, 48)
		self._label3.Name = "label3"
		self._label3.Size = System.Drawing.Size(111, 23)
		self._label3.TabIndex = 1
		self._label3.Text = "Projectnaam"
		# 
		# label4
		# 
		self._label4.Location = System.Drawing.Point(27, 125)
		self._label4.Name = "label4"
		self._label4.Size = System.Drawing.Size(111, 23)
		self._label4.TabIndex = 1
		self._label4.Text = "Selecteer verdieping"
		# 
		# text_projectnr
		# 
		self._text_projectnr.Location = System.Drawing.Point(294, 28)
		self._text_projectnr.Name = "text_projectnr"
		self._text_projectnr.Size = System.Drawing.Size(121, 20)
		self._text_projectnr.TabIndex = 3
		# 
		# text_projectnaam
		# 
		self._text_projectnaam.Location = System.Drawing.Point(294, 51)
		self._text_projectnaam.Name = "text_projectnaam"
		self._text_projectnaam.Size = System.Drawing.Size(121, 20)
		self._text_projectnaam.TabIndex = 3
		# 
		# label1
		# 
		self._label1.Location = System.Drawing.Point(27, 74)
		self._label1.Name = "label1"
		self._label1.Size = System.Drawing.Size(111, 23)
		self._label1.TabIndex = 1
		self._label1.Text = "Bloknummer"
		self._label1.Click += self.Label1Click
		# 
		# text_blok
		# 
		self._text_blok.Location = System.Drawing.Point(294, 77)
		self._text_blok.Name = "text_blok"
		self._text_blok.Size = System.Drawing.Size(121, 20)
		self._text_blok.TabIndex = 3
		# 
		# label5
		# 
		self._label5.Location = System.Drawing.Point(27, 100)
		self._label5.Name = "label5"
		self._label5.Size = System.Drawing.Size(111, 23)
		self._label5.TabIndex = 1
		self._label5.Text = "Tekenaar"
		self._label5.Click += self.Label1Click
		# 
		# text_tek
		# 
		self._text_tek.Location = System.Drawing.Point(294, 103)
		self._text_tek.Name = "text_tek"
		self._text_tek.Size = System.Drawing.Size(121, 20)
		self._text_tek.TabIndex = 3
		
		# 
		# combo_formaat
		# 
		self._combo_formaat.FormattingEnabled = True
		self._combo_formaat.Items.AddRange(System.Array[System.Object](
			["A2"]))
		self._combo_formaat.Location = System.Drawing.Point(294, 152)
		self._combo_formaat.Name = "combo_formaat"
		self._combo_formaat.Size = System.Drawing.Size(121, 21)
		self._combo_formaat.TabIndex = 0
		self._combo_formaat.SelectedIndexChanged += self.ComboBox1SelectedIndexChanged
		# 
		# label6
		# 
		self._label6.Location = System.Drawing.Point(27, 150)
		self._label6.Name = "label6"
		self._label6.Size = System.Drawing.Size(111, 23)
		self._label6.TabIndex = 1
		self._label6.Text = "Selecteer formaat"
		self._label6.Click += self.Label6Click
		# 
		# MainForm
		# 
		self.AutoSize = True
		self.ClientSize = System.Drawing.Size(434, 253)
		self.Controls.Add(self._text_tek)
		self.Controls.Add(self._text_blok)
		self.Controls.Add(self._text_projectnaam)
		self.Controls.Add(self._label5)
		self.Controls.Add(self._text_projectnr)
		self.Controls.Add(self._label1)
		self.Controls.Add(self._button1)
		self.Controls.Add(self._label3)
		self.Controls.Add(self._label2)
		self.Controls.Add(self._label6)
		self.Controls.Add(self._combo_formaat)
		self.Controls.Add(self._label4)
		self.Controls.Add(self._combov_verd)
		self.MaximizeBox = False
		self.MinimizeBox = False
		self.Name = "MainForm"
		self.ShowIcon = False
		self.Text = "Gebruikersinvoer"
		self.ResumeLayout(False)
		self.PerformLayout()

	def Button1Click(self, sender, e):
		self.Close()  
		
	
	def ComboBox1SelectedIndexChanged(self, sender, e):
		pass

	def Label1Click(self, sender, e):
		pass

	def Label6Click(self, sender, e):
		pass


form = Gebruikersinvoer()
Application.Run(form)


OUT = 0
1 Like

@jw.vanasselt you can enhance it more if you want, a list is needed in the form to host the values as per your objects, Text(Property) for texts and SelectedItem for combo boxes once you click the Complete button:


WinForm.dyn (11.1 KB)

6 Likes

That’s great! That was the answer I was looking for. :slight_smile:

1 Like

@jw.vanasselt what did you use to make the form and is it free?

I have been trying to get down to forms in Python and it is quite painful. Would love to develop forms ad back end in Visual studio or the like and export it.

~TIA

Hi @Ron_Allen ,

I use sharpdevelop, it is really easy and free !
You have a design tab and the source is available :slight_smile:

1 Like