Transparente Form inkl. Click & Drag / Tutorial C# .NET
- Juli 30th, 2008
- Posted in CSharp . Development
- Kommentar schreiben
Um eine Transparente Form zu erstellen mit der es möglich ist diese per Click & Drag auf dem Desktop zu verschieben, sind folgende Schritte notwendig:
2. Im Projektmappen Explorer Form1.Designer wählen und dort die Grösse nach belieben anpassen.
3. Dann ziehen wir eine PictureBox, die fast so gross ist, wie das Formular.
4. Nun laden wir uns das entsprechende Bild, welches unser neues Formular darstellen soll.
5. Die PictureBox bekommt als BackgroundColor Transparenz zugewiesen.
6. Nun ändern wir die Form in den Eigenschaften ab, in dem wir den FormBorderStyle auf None stellen.
7. Und in den Eigenschaften des Formulars, ganz unten namens TransparencyKey auf Transparent.
8. Im Projektmappen Explorer wählen wir nun die Ereignisse für die Form (welche noch immer selektiert ist) aus:
9. Dort suchen wir nach MouseDown und klicken diese doppelt, das selbe mit MouseMove.
10. dann instanzieren wir oberhalb beider MouseEvents, aus der Klasse Point ein Objekt namens Click
1 | Point click; |
in dem MouseDownEvent schreiben wir:
1 | click = new Point(e.X, e.Y); |
und im MouseMoveEvent folgendes
1 2 3 4 5 | if (e.Button == MouseButtons.Left) { this.Left += e.X - click.X; this.Top += e.Y - click.Y; } |
11. Die Events für die PictureBox erstellen wir auf der selben Weise, wie bei dem Formular:
12. In diesen Events rufen wir nun die jeweiligen Methoden vom Formular auf:
1 2 3 4 5 6 7 8 | private void pictureBox1_MouseDown(object sender, MouseEventArgs e) { Form1_MouseDown(sender, e); } private void pictureBox1_MouseMove(object sender, MouseEventArgs e) { Form1_MouseMove(sender, e); } |
Kompilieren & Ausführen (F5)
Et Voilà* Voilá** und fertig.
Wenn zu diesem Tut noch Fragen offen sind, einfach die Kommentarfunktion benutzen ; )
hf & enjoy!
Related Blogs
- Related Blogs on CSharp
- Sql insert in Csharp
- Related Blogs on Tutorial
- Illustrator Tutorial Stadtansicht erstellen
- Photoshop Tutorial komplexe Patterns erstellen
- Tutorial DIY Tetra Pack Portemonnaie
- Retrocomputing Tutorial
- Tutorial “SigTag Cuadro” für PSP und PI
Ähnliche Beiträge
Auch wenn Du nichts zu diesem Thema sagen möchtest, bringst du mit einem Klick auf den Like- oder KickButton zum Ausdruck, dass dir dieser Artikel gefällt. Vielen Dank : )
















Warum noch eine Picturebox, man könnte das Bild doch auch einfach als Backgroundimage der Form setzen.
LG Karim
Das geht leider nicht, glaube das ich das probiert habe…
hi
2 anmerkungen noch zu deinem tut
1. Ja man braucht nicht extra eine picture box
2. hast vdu ergessen zu sagen, dass die Farbe des TransparencyKey gleich der hintergrundfarbe der Form sein muss
sonst aber seh schön beschrieben
gruß
Falk
Danke für die Ergänzung : )
Implementierung in WPF:
private void Window_MouseDown(object sender, MouseEventArgs e)
{
point = new Point(e.GetPosition(this).X, e.GetPosition(this).Y);
}
private void Window_MouseMove(object sender, MouseEventArgs e)
{
if (e.LeftButton == MouseButtonState.Pressed)
{
this.Left += e.GetPosition(this).X – point.X;
this.Top += e.GetPosition(this).Y – point.Y;
}
}
Noch einfacher gehts so:
this.MouseDown += (Window_MouseMove);
private void Window_MouseMove(object sender, MouseEventArgs e)
{
this.DragMove();
}