Suchergebnisse

Suchergebnisse 1-20 von insgesamt 20.

  • Benutzer-Avatarbild

    Tach zusammen, ​seit einigen Tagen widme ich meine Aufmerksam dem Thema "Zeichnen mit GDI". ​Hierfür habe ich mir ein kleines Testprojekt "GlossyKnopf" ausgedacht. Hier zeichne ich in einem UserControl (erbt von Button) ein Knopf. Soweit so gut. Das Zeichnen an sich ist auch nicht das Problem, mag sein das noch nicht optimal, aber das soll hier erstmal nicht das Thema sein. vb-paradise.de/index.php/Attachment/40400/ ​Ziehe ich die Form auf der sich der Knopf befindet zu und wieder auf, macht der…

  • Benutzer-Avatarbild

    Zitat von Gather: „Also ich habe es getestet und ich habe das Problem nicht ... (Windows 7 64bit - Ultimate, VS 2013 Ultimate)“ Mit meinem Testprojekt??? Zitat: „Abgesehen davon solltest du noch bisschen an der Zeichenmethode arbeiten, besonders im Bezug auf disposen etc :)“ Ich weiß Wie gesagt, ich kämpfe mich grad durch den GDI Mist und hab den Hauptaugenmerk noch nicht beim Feintuning.

  • Benutzer-Avatarbild

    Zitat von Gonger96: „Probier mal dem Control ResizeRedraw per SetStyles zu geben. >“ ​Wo genau? Im Konstruktor des Knopfs... (Versteckter Text) ...sowie in der Designer.cs Datei hat das nix gebracht... (Versteckter Text) Zitat: „Alternativ die Form einfach mal minimieren und dann wieder einblenden. Sieht der Button dann normal aus, malst du nicht neu bei einer Größenänderung <img src="http://www.vb-paradise.de/wcf/images/smilies/wink.png" alt=";)" />“ ​Ja, nach dem maximieren sieht der wieder hü…

  • Benutzer-Avatarbild

    Zitat von RodFromGermany: „ C#-Quellcode (1 Zeile) “ Ok, dass ist der Grund warum ich hier nachgefragt habe. Läuft wie es soll, top! Der super schöne GlossyKnopf bleibt am Stück Edit: Zitat von Mono: „ Also das X der Location ist entsprechend höher. Also malst du dann jedesmal nur in ein kleineres Rectangle wieder alles rein. Mit anderen Worten, verwende ClipRectangle nur bei sehr komplexen Controls. Windows Forms clippen sowieso selbstständig Teile die du zeichnest. “ Ok, super jetzt hab ich au…

  • Benutzer-Avatarbild

    Zitat von ~blaze~: „verwende doch den durch die Font-Eigenschaft bereitgestellten. “ Du meinst die des Buttons von dem geerbt wurde? Zitat: „TextRenderer-Klasse“ Ah ok, schau ich mir an. Zitat: „Dispose außerdem jene Objekte, die du konstruierst, d.h. LinearGradientBrush, usw.“ ist bereits nach dem Lösen meines Problems erledigt worden.

  • Benutzer-Avatarbild

    @~blaze~ Wird aktuell per .Dispose() gemacht. Bin kein Freund von try/catch/finally. Die Using Geschichte nutze ich leider noch zu selten. Ist bei mir einfach noch nicht im Workflow angekommen, muss ich mir unbedingt angewöhnen... Stimmt, im Designer kann man ja schon Schriftarten setzen. Oh man, da hätte ich auch drauf kommen können. Jetzt hab ich mir das selbst dort rein gebaut Btw. was passiert, wenn ich das nicht dispose? Nachdem das Event durch ist sollte doch der GC das Zeug weg rumen, ode…

  • Benutzer-Avatarbild

    Try/Finally kannte ich bis dato ohne den Catch nicht. Gut zu wissen. Wo es geht, versuche ich auf Try-Catch zu verzichten, wenn es nicht anders geht, geht es halt auch nicht anders. Jedoch halte ich von dem allseits beliebten inflationellen Einsatz nichts. Aber dieses Thema wurde an einigen Stellen bereits behandelt, lassen wir das gut sein

  • Benutzer-Avatarbild

    Zitat von ~blaze~: „Für Steuerelement-Inhalte greift man idR. auf die TextRenderer-Klasse zurück. Das bietet einem die Möglichkeit, das Verhalten über Flags zu definieren und zeichnet Text so, wie es auch Button, usw. haben, d.h. z.B. "&OK" wird dann zu OK. Sofern man nicht das entsprechende Flag setzt.“ Ok, ist drin. Nur, was muss ich tun, dass der Button ausgelöst wird sobald ich z.B. alt + b drücke? Wird wohl an den ​TextFormatFlags hängen, oder? C#-Quellcode (1 Zeile) Im Designer wird mit z.…

  • Benutzer-Avatarbild

    @RodFromGermany Zitat von mrMo: „(...) was muss ich tun, dass der Button ausgelöst wird sobald ich z.B. alt + b drücke?“ Welchen TextFormatFlag muss ich setzen? Dieses mal werde ich aus der MSDN nicht schlau.

  • Benutzer-Avatarbild

    Zitat von RodFromGermany: „lies die Flags aus, wenn das geht.“ ​Wie/wo könnte man die ermitteln?

  • Benutzer-Avatarbild

    Zitat von RodFromGermany: „im IlSpy an.“ ​Ja da könnt ich mal schauen, muss ich mal downloaden... Mal anders herum, wie nennt sich diese "&" Kiste eigentlich? Dann kann ich besser recherchieren.

  • Benutzer-Avatarbild

    Zitat von ErfinderDesRades: „ Was du gebastelt hast, bezeichnet man als CustomControl.“ Mag sein, hab damals eine WindowsFormsControlLibrary als Projekt angelegt. Zitat: „Dann: Lass doch einfach die Finger von der Text-Property.“ Dat Ding hat leider im Rohzustand keine Text-Property. Weil: Zitat: „die erbst du ja.“ Ne, will er nicht. Krieg ich die Meldung "Die Assembly (...) enthält keine UserControl-Typen" Weiß nicht, vielleicht mach ich das auch falsch? C#-Quellcode (1 Zeile) Zitat: „Das Zeich…

  • Benutzer-Avatarbild

    @ErfinderDesRades Hab jetzt nochmal so ein Testprojekt erstellt (Projektmappe siehe Anhang): vb-paradise.de/index.php/Attachment/40408/ Ist das Kein UserControl? ​Dort erbe ich so vom Button: C#-Quellcode (1 Zeile) Beim kompilieren kommt (wie im echten Projekt) dann diese Meldung: Zitat: „ Die Assembly "C:\Users\mrmo\Documents\Visual Studio 2015\Projects\GButton\GButton\obj\Debug\GButton.dll" enthält keine UserControl-Typen.“

  • Benutzer-Avatarbild

    Zitat von ErfinderDesRades: „Warum heisst das Ding denn nun auf einmal UserControl1??“ Das ist ein Beispiel aus meinem eben neu erstellten Testprojekt, welches ich hier hochgeladen habe, falls jemand den Effekt nachvollzeihen will. Im echten Projekt steht weiterhin C#-Quellcode (1 Zeile) Edit: @ErfinderDesRades Zitat: „​(Bei mir kompiliert dein Upload problemlos - es fehlt nur ein Testprojekt zum Testen - ist das Absicht?)“ ​Hab das Teil jetzt auch runter geladen und kompiliert. Bei mir kommt we…

  • Benutzer-Avatarbild

    @ErfinderDesRades dein Projekt läuft bei mir auch. Also, nun stellt sich mir die Frage: Wie muss ich vorgehen, um eine eigenes Steuerelement erstellen zu können, welches später als .dll in anderen Projekten wieder verwendbar ist? Sprich, wie bist du vorgegangen als du das Testprojekt erstellt hast? Edit: Den Knopf will ich dann komplett selbst zeichnen, nur damit wir vom Gleichen sprechen.

  • Benutzer-Avatarbild

    Ok, dann versuch ich das morgen mal... merci

  • Benutzer-Avatarbild

    Zitat von ~blaze~: „Das mit den Mnemonics klappt jetzt? “ Leider nein, dass versuche ich ja durch das Erben von Button und der Verwendung dessen Text Property zu lösen. Eigentlich (so sehe ich das zumindest) ist das Erben hier gar nicht nötig, da alles andere sonst einwandfrei läuft. Sollte das die Lösung sein, hab ich da allerdings auch nichts dagegen...

  • Benutzer-Avatarbild

    @RodFromGermany Mein Ziel: Zeichnen mit GDI lernen. Der Weg dort hin: Ein Control (hier der Button) möglichst komplett selbst zeichnen. Was er (aktuell) kann: 1.Verschiedene Farbverläufe beim Click und Hover (einstellbar). 2. Zusätzlich nen Tooltip (hab den von Win genommen und zeichne drüber), Border- breite und Farbe sowie Font einstellbar. 3. Und zu guter letzt kann das Ding auch als CheckButton (wieder eigener Farbverlauf einstellbar) genutzt werden (ähnlich der Checkbox). Hierzu hat der But…

  • Benutzer-Avatarbild

    @ErfinderDesRades Danke für das Testprojekt, denke damit kann ich schonmal das Problem mit der Vererbung lösen. Nun zeichne ich ja komplett über den Button drüber, so das man auch dessen Text nicht mehr sieht. Also muss ich meinen Text am Ende selbst drauf zeichnen. Und genau hier kommt dann wieder die Sache mit dem Mnemonics ins Spiel. Reicht es dann aus, die Text Property des Buttons an die DrawText Methode der TextRenderer-Klasse (neben anderen Dingen) zu übergeben, damit der "GlossyButton" r…

  • Benutzer-Avatarbild

    Natürlich habe ich das ausprobiert, bei dir tut das. Nur, du zeichnest ja den Text nicht selbst... Ah Moment, ich erbe von Button, welcher dann das Click Event auslöst, auf das ich reagiere. Da isses ja dann egal ob ich drüber gezeichnet habe. Ok, wenn ich da keinen Denkfehler drin habe, dann sollte das so klappen. Ich werde berichten, sobald ich eure Antworten hier alle verarbeitet habe.