Entwickler-Ecke
WinForms - Frage zu eigener Form/Design
AlphaCentAlpha - Di 05.02.08 19:55
Titel: Frage zu eigener Form/Design
Hi ich bin relativ neu in C#.
Ich hab mir in Photoshop ein eigenes Design gemacht das eben nicht die form des Standard
Windows Fenster hat. Nun würde ich dieses gern einbinden. Als Hintergrund ist das ja kein Problem aber ich moechte eben das nur mein eigenes Design sichtbar ist, und windows titelleiste und hintergrund transparent sind.
zusätzlich dazu habe ich in der photoshop am rand an den abrundungen so halbtransparente pixel die ich auch gerne ins gui design übernehmen würde ohne das diese weiss werden oder sowas. kann mir einer von euch sagen wie ich dieses eigene design einbinden kann wobei halt alle transparentne stellen in photoshop auch genauso in c# übernommen werden. habe bei google shcon gesucht und leider nichts dazu gefunden.
thx alpha
Kha - Di 05.02.08 21:09
Du hast zwei Möglichkeiten:
- Du bleibst bei Winforms und zeichnest ALLES selbst, kannst also keine Controls benutzen. (Wobei du dann gleich das Ganze hardwaregestützt zeichnen könntest, z.B. mit XNA)
- Du benutzt WPF, das aber gerade bei sowas mit der Performance einbricht.
AlphaCentAlpha - Di 05.02.08 22:43
also das ist mir viel zu aufwändig :P
ich hatte eigentlich vorgehabt das ich dem bild ne hintergrund farbe gebe die ich mal x nenne. und dann einfach beim tranparency key farbe x einstelle. nur das funktioniert irgendwie nicht ich seh da immer noch mein design mit der farbe x als viereck drum.
mutterholzbein - Mi 06.02.08 00:09
Titel: ree
AlphaCentAlpha hat folgendes geschrieben: |
also das ist mir viel zu aufwändig :P
ich hatte eigentlich vorgehabt das ich dem bild ne hintergrund farbe gebe die ich mal x nenne. und dann einfach beim tranparency key farbe x einstelle. nur das funktioniert irgendwie nicht ich seh da immer noch mein design mit der farbe x als viereck drum. |
...
hmh,
also ganz ohne aufwand lässt sich dein wunsch nicht bewerkstelligen!
allerdings ist der oben geschilderte weg, im vergleich zu früheren methoden
SIMPLE! du machst mit expresion-blend das design, speicherst ab, lädst das projekt ins VS (mindestens VS-2005) und schreibst den code für die anwendung...
ALLERDINGS: solltest du in ms-expression-blend für schliessen-buttons usw., gleich in den eventhandler-eigenschaften die zugehörigen events reinschreiben; falls du dich nicht noch zusätzlich mit xaml beschäftigen willst! denn im c-sharp code taucht davon im cs-projekt nicht mehr viel auf.
also für das bsp mit dem schliessen-button wäre das [/color]
this.Close()[color=darkred]
ABER OHNE ABSCHLIESSENDES
;! das wird in expr.-blend in xaml-code eingebettet...
jedenfalls ist das die einfachste,schnellste und auch effektivste methode!
ps.
du kannst das ja auch mal mit GDI, GDI+ oder via DirectX funktionen versuchen zu lösen ;)
wirst sehen das, dass immernoch um welten schwerer ist als mein weg.
allerdings gibts bestimmt auch noch einige andere; in welche ich aber (noch) nicht involviert bin...
greetz mhb
:wave:
Moderiert von
Narses: Farb-Tag nochmal entfernt :|
Kha - Mi 06.02.08 09:55
AlphaCentAlpha hat folgendes geschrieben: |
ich hatte eigentlich vorgehabt das ich dem bild ne hintergrund farbe gebe die ich mal x nenne. und dann einfach beim tranparency key farbe x einstelle. |
Das funktioniert natürlich auch, du schrobst in deinem ersten Posting aber etwas von
halbtransparenten Pixeln!
Hier mal ein kurzes Beispiel, dass es wirklich funktioniert:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| public Form1() { FormBorderStyle = FormBorderStyle.None; TransparencyKey = Color.Fuchsia;
InitializeComponent(); }
void Form1_Paint(object sender, PaintEventArgs e) { e.Graphics.FillRectangle(Brushes.Fuchsia, e.ClipRectangle); e.Graphics.FillEllipse(new SolidBrush(BackColor), e.ClipRectangle); } |
AlphaCentAlpha - Mi 06.02.08 18:26
also irgendwie habt ihr mich glaube ich nicht verstanden :P
deswege hier einfach mal meine c# datei. es muss nur noch das backgroundimage an das enthaltene bild angepasst werden dann seht ihr mein problem.
ich kriege die pixel da einfach nicht so umgesetzt.
Kha - Mi 06.02.08 23:56
Funktioniert doch :shock: . Oder was genau willst du erreichen :?:
AlphaCentAlpha - Do 07.02.08 17:09
ja du siehst doch diesen rosa rand! den will ich eben nicht haben. bzw. wenn dann so das wirklich der hintergrund vom desktop durchscheint und nicht diese hässliche rosa farbe ^^.
Kha - Fr 08.02.08 13:08
Wenn du keine Halbtransparennz verwenden willst, musst du natürlich erreichen, dass du einen scharfen Übergang von deiner Form-Grafik zum Fuchsia-Hintergrund hast, es darf nirgendwo eine Mischfarbe entstehen. Frag mich aber nicht, wie man das in PS macht :nixweiss: .
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!