Spostare una WinForm senza barra del titolo
goldberg non è online. Ultima attività: 01/12/2008 23.01.43goldberg
Inserito il: 28 settembre 2008 22.54
40 messaggi dal 23 mag 2008 Istalla Microsoft Silverlight!
Ciao a tutti
Ho comincianto da poco a creare progetti WindowsForm
e cercando in giro ho letto in giro che è possibile togliere la barra del titolo in modo da poter Personalizzare "al massimo" La WinForm..

La barra l'ho tolta Solo che ora vorrei che la WinForm sia comunque spostabile dall'utente.. cercando Ho trovato uno script c# che pero sembra non funzionare forse perchè sbaglio qualcosa ecco il codice:

public Form1()
{
InitializeComponent();
}
private Point diff;
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
diff= new Point(-e.X, -e.Y);
}

private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
Point mouse_loc = Control.MousePosition;
mouse_loc.Offset(diff.X, diff.Y);
this.Location = mouse_loc;
}
}
}

Qualcuno saprebbe aiutarmi???

A un'altra cosa ne ho trovato uno in vb Funzionante
ma a me serve in C# qualcuno saprebbe tradurlo???

Private diff As Point

Public Sub New()
InitializeComponent()
End Sub

Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs)
diff = New Point(-e.X, -e.Y)
End Sub

Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs)
If e.Button = MouseButtons.Left Then
Dim mouse_loc As Point = Control.MousePosition
mouse_loc.Offset(diff.X, diff.Y)
Me.Location = mouse_loc
End If
End Sub

Grazie in anticipo per l'aiuto
CIAO
RE: Spostare una WinForm senza barra del titolo
Cradle non è online. Ultima attività: 04/12/2008 20.25.51Cradle
Inserito il: 29 settembre 2008 00.18
contributi / Community manager / www.aspitalia.com / Blog / 512 messaggi dal 01 lug 2004 Istalla Microsoft Silverlight!
Ti dico due cose:
1) il codice che hai scritto è esattamente la traduzione C# di quello VB più in basso
2) Mi sembra corretto, tant'è che ho fatto cut-paste della versione C# su un'applicazione nuova e funziona alla grande.

Quindi magari ricontrolla ciò che hai effettivamente sul suo progetto!

Ciao
.m
RE: Spostare una WinForm senza barra del titolo
goldberg non è online. Ultima attività: 01/12/2008 23.01.43goldberg
Inserito il: 29 settembre 2008 00.39
40 messaggi dal 23 mag 2008 Istalla Microsoft Silverlight!
Ciao sul progetto è lo stesso...
devo impostare forse qualche altra proprietà???

Il codice vb non è quello scusa ho sbagliato è questo e funziona

Dim MousePos As Point
Dim IsMouseDown As Boolean
Private Sub ClassBox_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
MousePos = New Point(MousePosition.X - Me.Location.X, MousePosition.Y - Me.Location.Y)
IsMouseDown = True
End Sub

Private Sub ClassBox_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseUp
IsMouseDown = False
End Sub

Private Sub ClassBox_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
If IsMouseDown Then
Me.Location = New Point(MousePosition.X - MousePos.X, MousePosition.Y - MousePos.Y)
End If
End Sub

Modificato da goldberg il 28 settembre 2008 23.45 -

Modificato da goldberg il 28 settembre 2008 23.45 -
RE: Spostare una WinForm senza barra del titolo
goldberg non è online. Ultima attività: 01/12/2008 23.01.43goldberg
Inserito il: 29 settembre 2008 00.54
40 messaggi dal 23 mag 2008 Istalla Microsoft Silverlight!
Ciao mi è venuto un'altro dubbio non è che non mi funziona perchè uso la versione Express????

Ciao
RE: Spostare una WinForm senza barra del titolo
Cradle non è online. Ultima attività: 04/12/2008 20.25.51Cradle
Inserito il: 29 settembre 2008 08.29
contributi / Community manager / www.aspitalia.com / Blog / 512 messaggi dal 01 lug 2004 Istalla Microsoft Silverlight!
La versione Express non c'entra nulla.

Cosa vuol dire "non funziona"? Non sposta nulla? sposta male? Sei sicuro di aver agganciato entrambi i metodi agli eventi MouseDown e MouseMove? Se metti un breakpoint nei due metodi e avvii l'app in debug, vengono effettivamente eseguiti?
RE: Spostare una WinForm senza barra del titolo
goldberg non è online. Ultima attività: 01/12/2008 23.01.43goldberg
Inserito il: 29 settembre 2008 21.30
40 messaggi dal 23 mag 2008 Istalla Microsoft Silverlight!
Non Mi Sposta Nulla..

Io imposto la proprietà FormBorderStyle a none poi inserisco quel codice ma non mi fa spostare la winform..

Devo fare qualcos'altro???
RE: Spostare una WinForm senza barra del titolo
Cradle non è online. Ultima attività: 04/12/2008 20.25.51Cradle
Inserito il: 29 settembre 2008 23.06
contributi / Community manager / www.aspitalia.com / Blog / 512 messaggi dal 01 lug 2004 Istalla Microsoft Silverlight!
L'unica cosa che mi viene in mente è che gli eventi non siano agganciati. Hai fatto le verifiche con il debugger che ti ho detto?
RE: Spostare una WinForm senza barra del titolo
goldberg non è online. Ultima attività: 01/12/2008 23.01.43goldberg
Inserito il: 30 settembre 2008 01.50
40 messaggi dal 23 mag 2008 Istalla Microsoft Silverlight!
Hai ragione gli eventi non vengono eseguiti ma perchè???

mhhh....!!!!

2 pagine: [1] 2 Avanti >>

Vai a:
Torna al forum |   Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.


PeppeDotNet - 1000 pt
gghi - 310 pt
fabrica - 50 pt

Iscriviti anche tu e raccogli punti. Questo mese in palio VS 2008, SQL Prompt e 1 ebook!


COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums