Springen naar inhoud


- - - - -
VS 2015

Parameters Maken Voor Een Property

VS2015

  • Log in a.u.b. om te beantwoorden
Er zijn 3 reacties in dit onderwerp

#1 ON3WVS

ON3WVS

    Starting Developer

  • Leden
  • 21 berichten
    Laatst bezocht 13 aug 2018 21:49

Geplaatst op 21 mei 2018 - 10:24

Dag iedereen,

Ik heb een Property gemaakt met onderstaande code, dit werkt voor mij. Maar ik wil graag een stapje verder gaan. In plaats van dat ik de exacte tekst "rond" of "vierkant" moet ingeven tijdens het programmeren, zou ik graag deze parameters in de property al specifieren zodat Visual Basic de mogelijke opties weergeeft tijdens het programmeren. Kan iemand mij verder helpen hiermee?


Bedankt! Wouter

Visual Basic Code:
Property VormType() As String
		Get
			Return Uitzicht
		End Get
		Set(value As String)
			Uitzicht = value

			If value = "rond" Then [maak object rond]
			If value = "vierkant" Then [maak object vierkant]
		End Set

	End Property



#2 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1092 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 21 mei 2018 - 17:47

Maak er een enum van?

Bijvoorbeeld de enum
Visual Basic Code:
Public Enum FiguurSoort
	Vierkant
	Cirkel
	Driehoek
End Enum


en de (Custom) Control:
Visual Basic Code:
Imports System.ComponentModel

Public Class FiguurControl
	Private _Soort As FiguurSoort

	<Category("Figuur"), Description("Soort figuur dat moet getekend worden")>
	Public Property Soort As FiguurSoort
		Get
			Return _Soort
		End Get
		Set
			_Soort = Value
			Invalidate()
		End Set

	End Property

	Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
		Dim grootte = Math.Min(Size.Width, Size.Height)
		If (Soort = FiguurSoort.Cirkel)
			e.Graphics.FillEllipse(Brushes.SlateBlue, 0, 0, grootte, grootte)
		ElseIf (Soort = FiguurSoort.Vierkant)
			e.Graphics.FillRectangle(Brushes.SeaGreen, 0, 0, grootte, grootte)
		Else
			Dim points = {New Point(0, grootte), New Point(grootte, grootte), New Point(grootte \ 2, 0)}
			e.Graphics.FillPolygon(Brushes.IndianRed, points)
		End If
	End Sub

End Class
 


Project is VS2017, heb geen oudere versie meer:

Bijlage  UserControlTestEnum.zip   13,03K   1 downloads

#3 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1092 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 21 mei 2018 - 18:15

Dus:
Bijlage  usercontrolFiguur.png   6,85K   0 downloads

#4 ON3WVS

ON3WVS

    Starting Developer

  • Leden
  • 21 berichten
    Laatst bezocht 13 aug 2018 21:49

Geplaatst op 22 mei 2018 - 19:48

Dirk,  hartelijk bedankt! Het gelukt om te doen wat ik wilde doen door jouw code te implementeren. Nog eens een klein vraagje: Wat betekent die?

<"Figuur"), Description("Soort figuur dat moet getekend worden")>  

EDIT: OK gevonden, had die System.ComponentModel nog niet geïmport. Dient om je eigenschap wat commentaar te geven in de menubalk neem ik aan. Nice!





Ook met taq VS 2015, VS2015 voorzien

0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


[VS 2015] Untitled 1

Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)