¿Cómo cambio el tamaño de un formulario PrintDialog?

Mi programa C# permite al usuario elegir en cuál de varias impresoras con nombres similares desea imprimir algunas etiquetas. El PrintDialog estándar es bastante estrecho en comparación con los nombres de las impresoras que tiene que mostrar, por lo que no puede ver los nombres completos de todas las impresoras en la lista desplegable. ¿Hay alguna forma de aumentar el ancho del formulario PrintDialog? Dado que es un cuadro de diálogo, no se puede cambiar de tamaño en tiempo de ejecución. Realmente preferiría no reinventar la rueda y crear un formulario completamente nuevo solo para enumerar las impresoras instaladas, por pequeña que parezca esa tarea.

preguntado el 22 de mayo de 12 a las 15:05

¿Lo único que hace PrintDialog es seleccionar una impresora? Lo que quiero decir es que no se necesitan otras opciones, tamaño de papel, copias, etc. -

@K'Leg Eso es lo único para lo que lo estoy usando. He deshabilitado todas las demás opciones que puedo (tamaño de papel, selección de impresión, etc.). Sé que sería bastante simple crear un formulario personalizado, pero esto parece un escenario común, y es difícil para mí creer que con todo el mundo usando impresoras de red, que parecen tener nombres más largos, no hay forma de que los controles integrados para acomodar nombres de impresoras "de cierto tamaño". -

Los nombres de las impresoras en mi red no son largos. Es una posibilidad remota, pero ¿puede USTED reducir el tamaño de los nombres de las impresoras? -

PrintDialog es un cuadro de diálogo estándar de Windows, es el mismo para cualquier programa que lo muestre. Compare con, por ejemplo, el cuadro de diálogo Archivo + Imprimir del Bloc de notas. No puede reemplazarlo o cambiar su tamaño fácilmente. Dado que todos los los programas tendrían problemas para mostrar suficientes nombres de impresoras, la solución lógica sería buscar nombres cortos de impresoras. -

1 Respuestas

Obviamente sabes cómo crear tu propio formulario, así que no te lo sugeriré.
Pero, ¿qué hay de agregar un cuadro combinado, en algún lugar cerca de su botón de impresión, y llenarlo de esta manera?
Sugiero hacer que el cuadro combinado solo se descargue, de esa manera los usuarios no pueden agregar su propio nombre de impresora y joderlo todo.

foreach (string s in PrinterSettings.InstalledPrinters)
{
    comboBox1.Items.Add(s);
}

contestado el 22 de mayo de 12 a las 16:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.