Laden...

Forenbeiträge von MarcDirk Ingesamt 5 Beiträge

11.11.2013 - 10:19 Uhr

Hallo Robin0,
der Programmierer könnte aber nun die Werte im PropertyGrid wieder zurückändern. Das soll er aber nicht, oder habe ich Dich da falsch verstanden???
Gruss
Marc

11.11.2013 - 09:38 Uhr

Hallo herbivore,

die Größe meines UserControls soll durch den Programmierer im Designer nicht geänder werden können. Wenn ich die Locked Eigenschaft auf true setze, dann verhält sich das Control so wie ich das möchte. Es kann mit der Mouse nicht mehr vergrößert werden.

Ich hatte mir gedacht, es müsste eine Möglichkeit geben diese Eigenschaft im UserControl festzulegen, so das Locked defaultmäßig auf true steht und auch nicht mehr geändert werden kann, bzw. wenn möglich im PropertyGrid auch nicht mehr angezeigt wird.

Das UserControl hat jetzt eh jede Menge Eigenschaften, die ich gerne abscahlten möchte, da zuviele.
Wie kann ich das erreichen?

Control.SetBounds sagen mir noch nichts, da werd ich wohl noch googlen müssen.

Gruß
Marc

11.11.2013 - 02:34 Uhr

Hallo!

Ich habe mir ein User Control geschrieben.
Jetzt möchte ich die Property "Locked" im propertygrid immer fest auf true stehen haben, ohne das ein User das wieder auf false zurück setzen kann.

Ich habe es so versucht:

public override bool Locked { get { return true; } }

Fehlermeldung:
Fehler 1 'WindowsFormsApplication1.DigitInputBox.Locked': Es wurde keine passende Methode zum Überschreiben gefunden. C:\Users\Marc\Documents\Visual Studio 2013\Projects\WindowsFormsApplication1\WindowsFormsApplication1\DigitInputBox.cs 92 34 WindowsFormsApplication1

Im Designer kann ich dieses aber manuell im propertygrid auf true setzen.

Das eigentliche Ziel ist, dass ein User die Größe des Controls nicht ändern können soll.
Ich hoffe hier hat jemand eine erhellende Idee für mich!

Gruß

Marc

06.10.2013 - 17:42 Uhr

Es hat lange gedauert, aber der Groschen ist gefallen!
DANKE!!!

public class TabPicture
        {
            public SourceInfo Ursprungsbild = new SourceInfo();
            public ProcessedInfo Arbeitskopie = new ProcessedInfo();
            public int TrackBarValue { get; set; }
            public double Seitenverhältnis { get; set; } // Höhe dividiert durch Breite
            public string Format { get; set; } // Kompressionsstandard
            public Boolean image_changed { get; set; }
            public class SourceInfo
            {
                public Image Bild { get; set; }
                public int Dateigröße { get; set; }
                public int Breite { get; set; }
                public int Höhe { get; set; }
            }
            public class ProcessedInfo
            {
                public Image Bild { get; set; }
                public int Dateigröße { get; set; }
                public int Breite { get; set; }
                public int Höhe { get; set; }
            }
        }
        List<TabPicture> TabBild = new List<TabPicture>();

06.10.2013 - 16:53 Uhr

Hallo,

für ein Projekt habe ich eine Klasse erzeugt:


public class TabPicture
{
    public SourceInfo Ursprungsbild;
    public ProcessedInfo Arbeitskopie;
    
    public int TrackBarValue { get; set; }
    public double Seitenverhältnis { get; set; } 
    public string Format { get; set; } 
    public Boolean image_changed { get; set; }
    
    public class SourceInfo
    {
        public Image Bild { get; set; }
        public int Dateigröße { get; set; }
        public int Breite { get; set; }
        public int Höhe { get; set; }
    }
    
    public class ProcessedInfo
    {
        public Image Bild { get; set; }
        public int Dateigröße { get; set; }
        public int Breite { get; set; }
        public int Höhe { get; set; }
    }
}

Im Anschluss erzeuge ich ein List-Objekt von meiner Klasse

List<TabPicture> TabBild; 

welche ich dann wie folgt zu füllen glaubte:

for (int x = 0; x < 13; x++)
{
    TabPicture TabPicture1 = new TabPicture();
    TabPicture1.Ursprungsbild.Bild = CreateEmptyBitmap();
    TabPicture1.Ursprungsbild.Breite = 0;
    TabPicture1.Ursprungsbild.Höhe = 0;
    TabPicture1.Ursprungsbild.Dateigröße = 0;
    TabPicture1.Arbeitskopie.Bild = TabPicture1.Ursprungsbild.Bild;
    TabPicture1.Arbeitskopie.Breite = 0;
    TabPicture1.Arbeitskopie.Höhe = 0;
    TabPicture1.Arbeitskopie.Dateigröße = 0;
    TabPicture1.Format = "";
    TabPicture1.image_changed = false;
    TabPicture1.Seitenverhältnis = 0;
    TabPicture1.TrackBarValue = 0;
    TabBild.Add(TabPicture1);
}

Richtig geraten, es klappt nicht und ich werde mal wieder irre 🙁 daran!
Es gibt keinen Syntaxfehler.
Ich kann meine Klasse z.B. so ansprechen:

TabBild[1].Ursprungsbild.Bild = NewImage;

Aber bei der Compilierung bleibt er schon oben bei der ersten Zuweisung in der Schleife hängen.> Fehlermeldung:

Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

Kann mir jemand helfen meinen Irrtum zu sehen bzw. zu verstehen?

Marc