|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2008
Messaggi: 1426
|
[C#]Form senza bordi
Ho visto che si possono facilmente eliminare i bordi di una form in fase progettazione semplicemente dando il valore "None" alla proprietà FormBorderStyle della Form. Così, proprio come voglio io, spariscono però anche i pulsanti chiudi, ridimensiona e riduci a icona (che ricreerò e risolvo da solo). Più che altro assieme a questi pulsanti (chiudi, ridimensiona, ecc), ossia quelli predefiniti di una finestra, scompare la barra del titolo che permette normalmente di spostare la form sullo schermo semplicemente cliccandoci e spostando il mouse senza lasciare il tasto sinsitro. Quindi come faccio a riottenere un'effetto simile per spostare la form?
|
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 1044
|
devi aggiungere al form i gestori per questi eventi:
- MouseDown - MouseUP - MouseMove dopo di che implementare una cosa del genere: Codice:
bool drag; Point startPoint; void Form_MouseDown(object sender, MouseEventArgs e) { this.drag = true; this.startPoint = new Point(e.X, e.Y); } void Form_MouseUp(object sender, MouseEventArgs e) { this.drag = false; } void Form_MouseMove(object sender, MouseEventArgs e) { if (this.drag) { Point p1 = new Point(e.X, e.Y); Point p2 = this.PointToScreen(p1); Point p3 = new Point(p2.X - this.startPoint.X, p2.Y - this.start_point.Y); this.Location = p3; } } |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jul 2008
Messaggi: 1426
|
devo ancora provare ma sei stato davvvero esauriente
![]() se io però volessi creare un'applicazione più complicata graficamente, di quelle con "forme" personalizzate e che quindi non sono più quel classico rettangolo delle normali windows form, cosa dovrei fare? |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
Codice:
private void Form1_Load(object sender, EventArgs e) { System.Drawing.Drawing2D.GraphicsPath GP = new System.Drawing.Drawing2D.GraphicsPath(); GP.StartFigure(); GP.AddEllipse(0, 0, this.Width, this.Height); GP.CloseFigure(); Region R = new Region(GP); this.Region = R; } ![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:13.