2010-11-22 40 views

Respuesta

56

Use Dock y Anchor propiedades. Here es un buen artículo. Tenga en cuenta que estos manejarán los cambios al maximizar/minimizar. Eso es un poco diferente que si cambia la resolución de la pantalla, pero tendrá la misma idea.

9
float widthRatio = Screen.PrimaryScreen.Bounds.Width/1280; 
float heightRatio = Screen.PrimaryScreen.Bounds.Height/800f; 
SizeF scale = new SizeF(widthRatio, heightRatio); 
this.Scale(scale); 
foreach (Control control in this.Controls) 
{ 
control.Font = new Font("Verdana", control.Font.SizeInPoints * heightRatio * widthRatio); 
} 
+0

Gracias pero la respuesta aceptada es la forma más elegante que este –

+0

@AfnanBashir tal vez, pero éste le ahorra un montón de tiempo, si ya tiene una forma de Windows con toneladas de controles. +1 –

+0

¿Dónde debo colocar este código? – Sana

-1

añadir este código en carga de la página hacer por todo el control o añadir todo el control en recipientes

int x; 
Point pt = new Point(); 
x = Screen.PrimaryScreen.WorkingArea.Width - 1024; 
x = x/2; 
pt.Y = groupBox1.Location.Y + 50; 
pt.X = groupBox1.Location.X + x; 
groupBox1.Location = pt; 
0

en caso de carga de formulario añadir esta línea

this.WindowState = FormWindowState.Maximized; 
14

utilizar combinaciones de estos para Obtenga el resultado deseado:

  1. Establezca la propiedad Anchor en Ninguno, los controles no se redimensionarán, solo cambiarán su posición.

  2. Establezca la propiedad Anchor en Arriba + abajo + izquierda + derecha, los controles cambiarán el tamaño pero no cambiarán su posición.

  3. Establezca el Minimum Size del formulario en un valor adecuado.

  4. Conjunto Dock propiedad.

  5. Uso Form Resize evento para cambiar lo que quiera

No sé qué tamaño de la fuente (etiqueta, cuadro de texto, cuadro combinado, etc.) se verán afectados en (1) - (4), pero puede ser controlado en (5).

+0

¿Por qué downvote? Por favor comenta. – Bhaskar

-1
private void MainForm_Load(object sender, EventArgs e) 
    { 
     this.Size = Screen.PrimaryScreen.WorkingArea.Size 
    } 
-1
this.WindowState = FormWindowState.Maximized; 
+4

¡Bienvenido a Stack Overflow! Si bien este código puede responder a la pregunta, proporcionar un contexto adicional con respecto a por qué y/o cómo responde este código a la pregunta mejora su valor a largo plazo. – ryanyuyu

Cuestiones relacionadas