webForumDet fria alternativet

Problem med properties i usercontrol

.NET

1 svar · 359 visningar · startad av saw

Medlem sedan mars 20011 880 inlägg
Frågan#1

I min usercontrols property så ville jag visa en lista över allternativ.
Jag försöker så här:

public struct BackgroundsMix
        {
            public string BackwardDiagonal;
            public string ForwardDiagonal;
            public string Horizontal;
            public string Vertical;
        }
        private BackgroundsMix _Mix = new BackgroundsMix();
        [Browsable(true), Category("Bakgrundsfärg"), Description("Detta är på 
vilket sått som bakgrundsfärgerna skall visas")]
        public  BackgroundsMix Mix
        {
            get { return _Mix; }
            set { _Mix = value; Invalidate(); }
        }

.. men jag är tydligen helt fel ute.
Vad som händer (när jag lägger in den i en form) är att ordet "Mix" visas
följt av "Vertikal_Text.vertikalText+BackgroundsMix".

Jag är med andra ord helt fel ute.
Jag vore väldigt tacksam om någon kunde hjälpa mig här.

Medlem sedan mars 20011 880 inlägg
#2

Nu fungerar det. Jag lägger in denna koden för att andra kan se hur det kan
lösas.

public enum ColorMix
        {
           BackwardDiagonal,
           ForwardDiagonal,
           Horizontal,
           Vertical
        }
        public ColorMix _Mix = new ColorMix();
        [Browsable(true), Category("Bakgrundsfärg"), Description("Detta är på 
vilket sått som bakgrundsfärgerna skall visas")]
        public ColorMix colorMix
        {
            get { return _Mix; }
            set { _Mix = value; Invalidate(); }
        }
//för att sedan användas
LinearGradientMode mode = new LinearGradientMode();
            switch (colorMix.ToString())
            {
                case "BackwardDiagonal":
                    mode = LinearGradientMode.BackwardDiagonal;
                    break;
                case "ForwardDiagonal":
                    mode = LinearGradientMode.ForwardDiagonal;
                    break;
                case "Horizontal":
                    mode = LinearGradientMode.Horizontal;
                    break;
                case "Vertical":
                    mode = LinearGradientMode.Vertical;
                    break;
            }
LinearGradientBrush b = new LinearGradientBrush(ClientRectangle, c1, c2, mode);
265 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)