Dimensioni in Pixel

sabato 17 giugno 2006 - 15.54

Aristoteles Profilo | Newbie

Ciao a tutti, ho la necessità di ricavare le dimensioni di una picture box in pixel o comunque devo fare in modo che quando una immagine si move all'interno della form rimanga per intero all'interno dei bordi della stessa, per l'alto è facile, la propietà top=0 significa che è arrivato al massimo consentito in alto o comunque sai che se la coordinata del punto Y = 0 sei al massimo alto consentito ma per per il basso?

Grazie a tutti per l'aiuto
Aristoteles

blood Profilo | Senior Member

dai un'occhiata alla proprietà PictureBox.SizeMode
---------------
Piscopo Paolo

:: wD @ IRCnet :: .NET wannabe 8-)

Aristoteles Profilo | Newbie

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Allora ho 2 pulsanti, una pcturebox e un timer, il problema è questo clicco un pulsante e la picnox si muove verso l'alto fino al bordo della form, clicco verso il basso e nelle mie intenzioni dovrebbe fare la stessa cosa ma non è così, se vuoi provare puoi capire sicuramente meglio cosa intendo

Se PicBox.Size.Height mi restituisse un valore in pixel non avrei problemi, invece il valore sarà in millimetri e ho qualche problema.

Grazie ciao
Aristoteles

blood Profilo | Senior Member

>Private Sub Button1_Click(ByVal sender As System.Object, ByVal
>e As System.EventArgs) Handles Button1.Click
> GoingUp = True
> Timer1.Interval = 100
> Timer1.Enabled = True
> End Sub
>
>Private Sub Button2_Click(ByVal sender As Object, ByVal e As
>System.EventArgs) Handles Button2.Click
> GoingUp = False
> Timer1.Interval = 1000
> Timer1.Enabled = True
> End Sub
>
>Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs)
>Handles Timer1.Tick
> If GoingUp = False Then
>While PicBox.Location.Y + PicBox.Size.Height < Me.Size.Height
>PicBox.Location = New Point(PicBox.Location.X, PicBox.Location.Y
>+ 1)
> End While
> Else
> While PicBox.Location.Y > 0
>PicBox.Location = New Point(PicBox.Location.X, PicBox.Location.Y
>- 1)
> End While
> End If
> End Sub
>
>Allora ho 2 pulsanti, una pcturebox e un timer, il problema è
>questo clicco un pulsante e la picnox si muove verso l'alto fino
>al bordo della form, clicco verso il basso e nelle mie intenzioni
>dovrebbe fare la stessa cosa ma non è così, se vuoi provare puoi
>capire sicuramente meglio cosa intendo
>
>Se PicBox.Size.Height mi restituisse un valore in pixel non
>avrei problemi, invece il valore sarà in millimetri e ho qualche
>problema.
>
>Grazie ciao
>Aristoteles

ho provato il tuo applicativo e funzionano entrambi i pulsanti fanno muovere la picturebox fino ai bordi della form...dov'è il tuo problema?


ps:

Proprietà Control.Height [Visual Basic] Ottiene o imposta l'altezza del controllo. [Visual Basic] Public Property Height As Integer [C#] public int Height {get; set;} [C++] public: __property int get_Height(); public: __property void set_Height(int); [JScript] public function get Height() : int; public function set Height(int); Valore proprietà Altezza del controllo in pixel.

---------------
Piscopo Paolo

:: wD @ IRCnet :: .NET wannabe 8-)

Aristoteles Profilo | Newbie

Si però io volevo che non andasse in immersione quando scende ma che si fermasse al bordo come quando sale.

Ho capitoooooo!!!!
La TitleBar è compresa nelle dimensioni della form ma nella form i pixel ripartono da 0, mi spiego meglio, per avere il valore che mi occorre dovrei togliere dall'altezza della form, l'altezza della titlebar.


Aristoteles

blood Profilo | Senior Member

eh già, è un effetto ottico che ti inganna perche la size della form include anche la barra del titolo, mentre in basso non c'è alcuna barra
Potresti mettere come limite di scorrimento verso il basso la differenza della title bar al totale del size. (penso che dovrai andare a tentativi)
---------------
Piscopo Paolo

:: wD @ IRCnet :: .NET wannabe 8-)

Aristoteles Profilo | Newbie

Ho fatto così infatti, ma mi chiedo se c'è un modo per calcolare l'altezza della titlebar oppure avere le misure dell'area utilizzabile di un form.
Aristoteles

blood Profilo | Senior Member

>Ho fatto così infatti, ma mi chiedo se c'è un modo per calcolare
>l'altezza della titlebar oppure avere le misure dell'area utilizzabile
>di un form.
>Aristoteles

Sì...ho appena visto che se setti temporaneamente i bordi della form a 0 con la size ti ricava la zona effettiva
esempio:

Me.size.Tostring() // size iniziale form
Me.FormBorderStyle = FormBorderStyle.None // levo i bordi compreso la title bar
Me.Size.ToString() // size effettiva
---------------
Piscopo Paolo

:: wD @ IRCnet :: .NET wannabe 8-)

Aristoteles Profilo | Newbie

Ciao ho fatto così, solo che l'ho inserito nell'evento Load del form così da non far vedere niente

Grazie
Aristoteles
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5