que - obtener resolucion de pantalla c#
Obtener y establecer la resolución de pantalla (5)
¿Cómo puedo recopilar y cambiar la resolución de pantalla usando Visual C #?
En C #, esta es la forma de obtener la pantalla de resolución:
botón clic o carga de formulario:
string screenWidth = Screen.PrimaryScreen.Bounds.Width.ToString();
string screenHeight = Screen.PrimaryScreen.Bounds.Height.ToString();
Label1.Text = ("Resolution: " + screenWidth + "x" + screenHeight);
Este código funcionará perfectamente en WPF. Puede usarlo en carga de página o en clic de botón.
string screenWidth =System.Windows.SystemParameters.PrimaryScreenWidth.ToString();
string screenHeight = System.Windows.SystemParameters.PrimaryScreenHeight.ToString();
txtResolution.Text ="Resolution : "+screenWidth + " X " + screenHeight;
Si desea recopilar la resolución de pantalla, puede ejecutar el siguiente código dentro de una ventana de WPF (la ventana es a lo que se referiría esto):
System.Windows.Media.Matrix m = PresentationSource.FromVisual(this).CompositionTarget.TransformToDevice;
Double dpiX = m.M11 * 96;
Double dpiY = m.M22 * 96;
en Winforms, hay una clase Screen que puede usar para obtener datos sobre las dimensiones de la pantalla y la profundidad de color de todas las pantallas conectadas a la computadora. Aquí está la página de documentos: http://msdn.microsoft.com/en-us/library/system.windows.forms.screen.aspx
CAMBIAR la resolución de la pantalla es más complicado. Hay una clase de resolución de terceros que envuelve el código nativo que de lo contrario se engancharía. Use su clase anidada CResolution para establecer la resolución de la pantalla a una nueva altura y ancho; pero entiendo que hacer esto solo funcionará para las combinaciones de altura / ancho que la pantalla realmente admite (800x600, 1024x768, etc., no 817x435).
Para recuperar la resolución de pantalla, querrá usar la clase System.Windows.Forms.Screen
. La propiedad Screen.AllScreens
se puede usar para acceder a una colección de todas las pantallas en el sistema, o puede usar la propiedad Screen.PrimaryScreen
para acceder a la pantalla principal.
La clase Screen
tiene una propiedad llamada Bounds
, que puede usar para determinar la resolución de la instancia actual de la clase. Por ejemplo, para determinar la resolución de la pantalla actual:
Rectangle resolution = Screen.PrimaryScreen.Bounds;
Para cambiar la resolución, las cosas se vuelven un poco más complicadas. Este artículo (o este ) proporciona una implementación detallada y explicación. Espero que esto ayude.