Har en fundering på hur man bör göra en grej i .NET, Windows Forms. Med alla dessa "krav" så skulle jag nog löst det genom att låta allt vara i samma kontrol. Men jävlar vad jobbigt, och vad mycket småbuggar från snabba musdragning etc. som kommer att uppstå. Jag har aldrig kollat in WPF.Bästa sättet att rita "Specialshapes"?
Låt säga att jag behöver två små rutor. Gärna med lite gradienter och krafs, men det är inte så noga. Rutorna måste jag skapa vid runtime. Mellan rutorna ska jag dra en linje, eller möjligtvis ett antal, eller en bezier. Det finns inget som direkt säger att det måste vara en fyrkantig ruta, det är en fördel om det går att slippa.
Allt det här hade ju varit skitlätt med System.Drawing, men problemet nu är att jag vill att man ska kunna highlighta rutorna, och få upp en tooltip bredvid.
Mitt första försök var då en fuling med label:ar som jag sätter position och storlek på, och som sen då kan reagera på MouseHover-events.
Jag skulle förstås kunna byta ut dem till PictureBox:ar för att få andra former än fyrkanter, men problemet är ändå att man vill kunna dra streck emellan dem. En hybridlösning med både kontroller och ritning känns inte speciellt bra, och att köra på bara ritning och skriva egna MouseHover-event mha MouseOver känns inte superkul.
Så vad är den bästa varianten?
En variant jag kommer på, som är lite halvt obehaglig är att göra nya kontroller som kan tillåtas känna till varandra och som då får kolla att Me.Parent = You.Parent, och i så fall rita på Me.Parent.
Jag misstänker att det hade gått superlätt i WPF, så även om det här projektet knappast kommer skrivas om till WPF i första taget så hade det varit intressant att se den lösningen också.
(Och som vanligt är forumvalet här knappast uppenbart...)Sv: Bästa sättet att rita "Specialshapes"?
Tooltip och highlite får man fånga in själv.Sv:Bästa sättet att rita "Specialshapes"?
Ingen WPF-lösning då?
Två rutor, streck emellan (rakt, sick-sack eller bezier), tooltip och highlighting på rutorna, och möjligtvis strecket också.Sv: Bästa sättet att rita "Specialshapes"?
m.h.a. Region property'n för kontroller så man få vilken form som helst på t. ex. en label.
sök på:
http://www.google.se/search?q=c%23+irregular+shape+regions+control&hl=sv&start=10&sa=N
http://www.codeproject.com/KB/cs/irregularshapedform.aspx
http://dvanderboom.wordpress.com/2008/05/04/compact-framework-controls-part-2-polygon-clipping/