Danke das hilft, auf jedenfall besser als vorher, fast kein flickern mehr zu sehen.
Habe jetzt aber noch vor dem Ändern Visible auf false gesetzt und danach wieder auf true.
this.Visible = false;
this.ResizeBox.Visible = false;
this.SetBounds(this.Location.X + (this._OldWidth - this._AutoHideWidth), this.Location.Y, this._AutoHideWidth, this.Height);
this.Visible = true;
Nun ist überhaupt kein flickern mehr zu sehen.
Danke noch mal für deine Hilfe! Lg THE_ONE
hustbaer schrieb:
Es müsste mit dem CharSet Attribute gehen.
Richtig. Bei mir hat folgende Einstellung funktioniert:
[DllImport(DRIVER_DLL_NAME,CharSet=CharSet.Ansi)]
Einfach mal mit den Grundlagen anfangen. Dann schaut die Welt nicht mehr kryptisch aus. Danach in ruhe die MSDN lesen und mit Geduld suchen. Das scheint mir bisher doch sehr unter den Tisch zu fallen.
Ich hab z.B. kein einzigen Artikel auf anhieb gefunden der sagt, das man nichts verstecken kann. Dafür war aber gleich der erste Versuch etwas zu finden auf Platz 1 der Ergebnisse:
The easiest way to hide a property from the propertygrid is using the [Browsable(false)]
Google: propertygrid hide
Mogli1977 schrieb:
Sorry...
Keine Absicht. Aber da ich mich mit C++ erst seit zwei Tagen beschäftige und dringend (und schnell) ein Ergebnis brauche...
Danke trotzdem, der MSDN-Link ist sehr hilfreich.
Der erste Schritt zu einem schnellen Ergebnis ist das lesen der Forenbeschreibung und das Platzieren der Frage im passenden Subforum. C# scheint mir da eine schlechte Wahl zu sein.
Jop gibt es.Nennt sich CodeDOM.Damit kannst du Klassen,Properties,Ctor,Methoden,Delegaten,Felder usw erstellen und auch kompilieren lassen.
Google einfach mal nach C# CodeDOM, da gibt es ein paar Tutorials.Ist zwar nicht ganz so trivial aber mit etwas einarbeitung schon machbar.
Wenn du willst, daß der Anwender die Position des PropertyGrids auch verschieben kann, dann wirst du wohl ein WinForm benutzen müssen. Beim Fenster kannst du z.B. den ToolBox-Style aktivieren (kleinere Überschrift) oder aber gar keinen Rahmen, nur dann mußt du dir Gedanken machen, wie der User das Fenster wieder schließen kann.
Nichtsdestotrotz würde ich ersteinmal ein eigenes UserControl für das PropertyGrid erstellen und dort dann anwendungsspezifischen Code ablegen.
Und dann kannst du einfach dieses UserControl direkt benutzen oder aber auf ein WinForm setzen, und so bei beiden die Vor- und Nachteile selber ausprobieren.
Wenn du doch einen Button verwenden willst:
FlatStyle = Flat
FlatAppearance.BorderSize = 0
Text = ""
ImageList = deine Image Liste
ImageIndex = wechselt je nach Zustand
Häufig werden Attribute zur Entwurfszeit oder Entwicklungsreporter gebraucht also in der Visual Studio IDE, wenn man ein Fenster desgined (?).
In deinem Besipiel beinhalten diese Attribute Angaben womit (EnumTypeEditor) und wie (EnumItem-Parameter) diese Enumeration in dem PropertyGrid (Eigenschaftenfenster) angezeigt wird.
EDIT: Rechtschreibung
witte schrieb:
Dravere schrieb:
DANKE!
Mein Leben als Programmierer in C# hat sich gerade um einiges erleichtert
Grüssli
...biste mitbekommst dass der Designer jetzt immer ewig zum Starten braucht. Oder ist das jetzt schneller geworden?
Mir ist bis jetzt kein Unterschied aufgefallen. Allerdings hatte die Toolbox/Designer schon früher immer noch zusätzliche Ladezeit benötigt.
Aber ich würde sogar noch mehr Ladezeit opfern, damit ich dies benutzen kann. Das ist sowas von erleichternd! Wenn es weitere zusätzliche Ladezeit haben sollte, hole ich diese an anderen Stellen locker wieder raus
Grüssli
Firefighter schrieb:
Ja sowas nennt man tatsächlich Methodenüberladung
Ich erinnere mich grau daran, diesen Begriff schonmal irgendwo gehört zu haben... Danke!
Mach nen Incident bei MS auf
Oder warte bis du nach Datenbanken rüber verschoben wirst, vielleicht kann dir dort jmd. helfen.
p.S.: was ganz klar nicht helfen würde, und daher gut ist dass du es nicht gemacht hast: genauere Daten angeben. Welche Version von SQL Server Compact Edition, welche Version von Visual Studio etc. Vollkommen wertlose Informationen, also bloss nicht angeben.
Einself.
Wichtig ist dann das Hinzufügen zum Parent-Control (bei dir dann TabControl):
Button button = new Button();
// ... Eigenschaften des Buttons setzen (Position, Name, Text, Click-Event etc.
tabControl.Controls.Add(button); // erst hierdurch wird der Button auch angezeigt
Am besten, du schaust dir mal eine entsprechende .Designer.cs-Datei an und orientierst dich daran.