[C#/VB.NET] Form halbtransparent machen

10/12/2010 19:36 Secredo#1
Dieses Tutorial habe ich auch in einem anderen Forum, unter gleichem Namen, releast. Also bitte nicht aufregen. ;D


Halbtransparente Form erstellen

Hallo und willkommen zu meinem Tutorial! :D

Ich werde immer jeweils 2 Code Teile posten, einen für C# und einen für VB.NET.

Also fangen wir an...
Als erstes benötigen wir ein Bild... Zum Beispiel vom einem Kreis:
[Only registered and activated users can see links. Click Here To Register...]
Jetzt müssen wir eine Farbe suchen, die NICHT in dem Bild vorkommt, hier z.B. normales Blau.
Dann füllen wir den Bereich der später nicht sichtbar sein soll mit dieser Farbe, schneiden das Bild noch zu und fertig:

WICHTIG: Das Bild sollte als .png abgespeichert werden!!

[Only registered and activated users can see links. Click Here To Register...]


Danach erstellen wir eine Windows Forms Anwendung und stellen als Backgroundimage unser erstelltes Bild ein:

[Only registered and activated users can see links. Click Here To Register...]

Dann passen wir die Größe der Form dem Bild an.

Danach stellen wir bei TransparencyKey die Farbe ein, welche wir vorhin beim Bild genommen haben, also in diesem Fall Blau. Ihr müsst achten, dass ihr GENAU die gleiche Farbe genommen habt!
Am einfachsten ist es mit Schwarz, Weiß und den Grundfarben.

Bei FormBorderStyle nehmen wir "None".

Wenn wir nun unser Programm starten, sollte unsere Form schon schön kreisförmig sein! :D


Leider kann man sie nun nicht mehr bewegen..
Um das zu ändern machen wir Folgendes:

Als erstes brauchen wir eine Variable die den Punkt speichert, auf den geklickt worden ist.
Also schreiben wir folgendes hin:

C#:
VB.NET:

Nun fügen wir 2 Events ein: Form_MouseDown und Form_MouseMove.

[Only registered and activated users can see links. Click Here To Register...]


Bei Form_MouseDown fügen wir folgenden Code ein:
C#:
VB.NET:
Damit weißen wir der oben erstellten Variable den Startpunkt zu.


Bei Form_MouseMove kommt dann folgendes rein:
C#:
VB.NET:

newPos weißen wir die aktuelle MousePosition zu.
Danach addieren wir den negativen Startpunkt um die neue Position zu bekommen.
Zum Schluss wird die Position von der Form noch neu zugewiesen.

Jetzt sollte man die Form beliebig verschieben können. :)


So.. das war mein Tutorial und ich hoffe es hat euch gefallen. ^^



MfG Secredo

10/16/2010 13:19 Masgaripa#2
Soweit ich weis ist C# Visual Basic
du meintest dann eher c++
10/17/2010 16:58 Secredo#3
C# ist nicht Visual Basic.
Sie benutzen nur das gleiche Framework, die Syntax ist aber anders, desswegen auch immer 2 Code Boxen. xD

MfG Secredo
10/17/2010 17:15 Project Rivalry#4
schön gemacht das tut =)
10/17/2010 18:18 Masgaripa#5
Quote:
Originally Posted by Secredo View Post
C# ist nicht Visual Basic.
Sie benutzen nur das gleiche Framework, die Syntax ist aber anders, desswegen auch immer 2 Code Boxen. xD

MfG Secredo

was dazu gelernt;)
10/26/2010 17:39 Headshot94#6
Tolles tut und danke sowas habe ich lange schon gesucht.thx bekommste geadet.
11/02/2010 01:27 Secredo#7
Danke und #push. ;D