Este es un problema muy trivial, pero parece que no puedo encontrar una manera de resolverlo. Me molesta porque creo que debería saber la respuesta a esto, pero estoy buscando los términos incorrectos o buscando los métodos y propiedades incorrectos.¿Cómo puedo controlar la ubicación de un cuadro de diálogo cuando uso ShowDialog para visualizarlo?
Tengo un cuadro de diálogo de configuración que se llama desde dos lugares.
El primero es desde el botón del formulario que funciona correctamente, como era de esperar.
El segundo es de un menú contextual en notifyIcon en la bandeja del sistema, pero aquí aparece en la parte superior izquierda de la pantalla. Idealmente me gustaría que aparezca centrado en la pantalla principal, o quizás cerca de la bandeja del sistema.
He tratado de establecer la
Location
, pero esto parece ser anulado cuandodialog.ShowDialog()
se llama.He intentado usar la sobrecarga
dialog.ShowDialog(IWin32Window)
, pero parece que no me gustó pasarnull
como el asa de la ventana.En su lugar, he intentado usar
dialog.Show()
, pero (y aquí es donde podría estar fallando) la configuración de la ubicación no parece dar resultados consistentes.Incluso he intentado configurar la propiedad
dialog.Parent
, lo que por supuesto produjo una excepción.
Sólo sé que voy a darse cuenta de que la respuesta es obvia cuando veo (con suerte) algunas respuestas, pero por el momento estoy completamente atascado.
Gracias por las respuestas, ya que sospechaba que era obvio, pero como de costumbre, me quedé atrapado en mirar por el camino equivocado. Lo más molesto es que también he usado esta propiedad del diseñador.
Tenía el mismo problema. Para mí, funcionó para establecer la ubicación durante el evento de carga – TomB