Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Risoluzione schermo
Forum - C# / VB.NET - Risoluzione schermo

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Papetz (Normal User)
Rookie


Messaggi: 33
Iscritto: 12/12/2007

Segnala al moderatore
Postato alle 18:55
Sabato, 21/06/2008
Questo topic è stato chiuso dal moderatore

Ciao a tutti, per un programmino mi serve prendere la risoluzione dello schermo in uso dal pc dove viene aperto. Esiste un api o qualcos'altro? mi affido a voi.;)

PM
Avatar
crash outside control (Normal User)
Expert


Messaggi: 217
Iscritto: 12/02/2008

Segnala al moderatore
Postato alle 19:34
Sabato, 21/06/2008
Prova con questo:

My.Computer.Screen.Bounds.Size.ToString

Solo larghezza:
My.Computer.Screen.Bounds.Width.ToString

Solo altezza:
My.Computer.Screen.Bounds.Height.ToString

Ciao :)


Anche un orologio fermo segna l'ora giusta due volte al giorno.
Hermann Hesse
PM
Avatar
Papetz (Normal User)
Rookie


Messaggi: 33
Iscritto: 12/12/2007

Segnala al moderatore
Postato alle 22:19
Sabato, 21/06/2008
Si grandissimo funzionano perfettamente, solo che messi nel programma, come faccio a dirgli di assegnare alla location della form la metà dell'altezza e della larghezza dello schermo?
Cioè se devo centrare una cosa, prendo la larghezza es. 1024 e altezza es. 768
Quindi voglio che la location X della form sia 512 e la location Y della form sia 384.
Io ho provato a mettere cosi.

Codice sorgente - presumibilmente Plain Text

  1. Me.Location.X.ToString = My.Computer.Screen.Bounds.Width.ToString


Mi dice che è una value e quindi non ci puo essere assegnato un valore ma dalle propietà lo posso cambiare. Ho provato anche a mettere start position manual cosi che l'avrei potuto cambiare ma niente.. Ditemi voi come sempre:asd:

PM
Avatar
crash outside control (Normal User)
Expert


Messaggi: 217
Iscritto: 12/02/2008

Segnala al moderatore
Postato alle 23:37
Sabato, 21/06/2008
Prova con questo:

Me.Location = New Point(My.Computer.Screen.Bounds.Width)

Dovrebbe essere ciò che chiedi :k:

Ciao e buona programmazione! :)

Ultima modifica effettuata da crash outside control il 21/06/2008 alle 23:37


Anche un orologio fermo segna l'ora giusta due volte al giorno.
Hermann Hesse
PM
Avatar
Papetz (Normal User)
Rookie


Messaggi: 33
Iscritto: 12/12/2007

Segnala al moderatore
Postato alle 0:23
Domenica, 22/06/2008
Grazie mille sei un figo.
Funziona sta cosa per mettere la form al centro ma devo cliccare due volte.
Alla prima si mette da una parte verso sinistra dello schermo e all'altra si mette al centro.
Non capisco perchè :O
Vabè ti metto il code anzi VI metto il code.
Sarà pieno di errori e di "allungatoie" sarei contento se me lo ripostaste fatto bene con qualche spiegazione.
Grazie a tutti siete fantastici:k:
Codice sorgente - presumibilmente VB.NET

  1. Public Class Form1
  2.  
  3.     Public altezza As Integer
  4.     Public larghezza As Integer
  5. --------------------------------------
  6. Public Sub prendi_posizione()
  7.         larghezza = Val(My.Computer.Screen.Bounds.Width) / Val(2)
  8.         altezza = Val(My.Computer.Screen.Bounds.Height) / Val(2)
  9.     End Sub
  10. --------------------------------------
  11.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  12.         prendi_posizione()
  13.         Form2.Location = New Point(larghezza, altezza)
  14.         Form2.Show()
  15.     End Sub
  16. ---------------------------------------
  17. End Class


PM
Avatar
crash outside control (Normal User)
Expert


Messaggi: 217
Iscritto: 12/02/2008

Segnala al moderatore
Postato alle 0:38
Domenica, 22/06/2008
Ciao, non ne sono sicuro, perchè non posso testare con il compilatore...
Credo che per far aprire "form2" al centro, devi prima aprirlo e poi assegnargli la posizione...

Codice sorgente - presumibilmente VB.NET

  1. Public Class Form1
  2.  
  3.     Public altezza As Integer
  4.     Public larghezza As Integer
  5. '--------------------------------------
  6. Public Sub prendi_posizione()
  7.         larghezza = Val(My.Computer.Screen.Bounds.Width) / Val(2)
  8.         altezza = Val(My.Computer.Screen.Bounds.Height) / Val(2)
  9.     End Sub
  10. '--------------------------------------
  11.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  12.         prendi_posizione()
  13.         form2.show()        
  14.         Form2.Location = New Point(larghezza, altezza)
  15.     End Sub
  16. '---------------------------------------
  17. End Class



E' l' unica soluzione che mi viene in mente, provala e poi ci fai sapere.
Ciao :)


Anche un orologio fermo segna l'ora giusta due volte al giorno.
Hermann Hesse
PM
Avatar
Papetz (Normal User)
Rookie


Messaggi: 33
Iscritto: 12/12/2007

Segnala al moderatore
Postato alle 1:34
Domenica, 22/06/2008
Ottimo funziona tutto grazie mille:love:

PM
Avatar
crash outside control (Normal User)
Expert


Messaggi: 217
Iscritto: 12/02/2008

Segnala al moderatore
Postato alle 1:53
Domenica, 22/06/2008
Di niente, figurati!
Ciao :) :k:


Anche un orologio fermo segna l'ora giusta due volte al giorno.
Hermann Hesse
PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 9:23
Domenica, 22/06/2008
Bastava impostare StartPosition su CenterScreen...

P.S.: non hai tenuto conto dell'altezza e della larghezza del form.


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM
Pagine: [ 1 2 ] Precedente | Prossimo