Estoy tratando de obtener el centro de la forma parental, no el centro de la pantalla del comportamiento. Al pasar en el formulario principal parece que solo controla la propiedad de la ventana. Estas clases están selladas, por lo que no veo cómo puedo hacer ningún truco de WinProc. Reescribir las clases no es una opción atractiva. ¿Alguna otra idea?¿Puedo colocar el cuadro de mensaje de .net (Formularios) o los cuadros de diálogo comunes?
Respuesta
Como HTH se ha explicado anteriormente, hay formas feas para hacerlo. Aquí hay una clase simple que ajustará el cuadro de diálogo y lo centrará en la aplicación/formulario principal.
Toma las formas feas y las envuelve en algo un poco más simple.
Si bien no lo he implementado o realmente he profundizado en la fuente, es un buen lugar para comenzar. CodeProject CenterDialog
Espero que esto ayude.
No sé mucho sobre los cuadros de diálogo o mensajes, pero puede colocar un nuevo formulario como está buscando con su propiedad StartPosition.
System.Windows.Forms.Form f = new Form();
f.StartPosition = FormStartPosition.CenterParent;
El problema es que no tiene una nueva forma. MessageBox usa un método Show() estático. – itsmatt
sin cavar en alguna fea P/invocar código para encontrar y movimiento la ventana después de que se muestra, esto simplemente imposible. Si persigue esto, el cuadro de mensaje "saltará" a la nueva posición, que generalmente es peor que no tenerlo centrado. Si el puesto es realmente tan importante, es mucho mejor que crees tu propio cuadro de mensaje, o adoptes uno del CodeProject.
HTH
Puede usar el método VB.NET Interaction.InputBox
. Si está trabajando en C#, simplemente agregue una referencia a Microsoft.VisualBasic, luego llámelo. Este método te permite especificar coordenadas X e Y. Tendrías que conformarte con un diálogo que tenga un cuadro de entrada, pero eso podría ser preferible a ti mismo.
Creo que esa es su única otra opción, como usted dijo, MessageBox, etc. son sealed
clases, por lo que tendría que hacer una copia de seguridad en CommonDialog y derivar su propia clase (de posición-específica) de eso. De acuerdo, no debería ser difícil, pero puedo entender si no desea tener que escribir/mantenerlo.
que son mucho mejor crear su propio cuadro de mensaje
OT, pero esta es una de mis manías. El equipo de Office hizo esto y a su MessageBox le falta una capacidad del MessageBox estándar: la capacidad de copiar el MessageBox como texto en el portapapeles usando Ctrl-C (útil para informes de errores, etc.).
Después de algunas excavaciones encontré http://support.microsoft.com/kb/180936. Esto funciona.
¿No se puede usar en C#? – To1ne
Extended MessageBox .NET Library (assembly)
Entre otras características útiles, incluye dos modos de posicionamiento: por coordenadas absolutas, mediante la alineación de frontera especificada de monitor activo.
Esto no sustituye a MessageBox.Show, sino a una extensión de este.Otras características: selección de fuente de letra y color de fuente, color de fondo ajustable, títulos de botones definidos por el usuario y fuentes de botones, captura de entrada de texto del usuario y más.
- 1. Aplicar un estilo a todos los cuadros de diálogo (cuadro de diálogo spinner, cuadro de diálogo de alerta, etc.)
- 2. ¿Cómo puedo agregar un ComboBox editable al cuadro de diálogo de elementos comunes de Vista?
- 3. Python 2.7/Windows: ¿Cómo controlar la posición de los cuadros de diálogo comunes de Tkinter?
- 4. Cuadros de diálogo de bloqueo en el control .NET WebBrowser
- 5. ¿Cómo puedo suprimir los cuadros de diálogo de los mensajes de error de Delphi DataSnap?
- 6. C# Resultado del cuadro de diálogo Mensaje
- 7. Cómo mostrar el cuadro de mensaje de error y advertencia en .NET/Cómo personalizar el cuadro de mensaje
- 8. Mensaje de centro en el cuadro de diálogo de Android
- 9. ¿Cómo comprobar si se muestra el cuadro de diálogo o mostrar varios cuadros de diálogo del mismo tipo?
- 10. cuadros de diálogo personalizados Problema
- 11. Dónde se traducen los cuadros de mensaje de MFC
- 12. En el cuadro de diálogo de la IU de jquery, es posible colocar un cuadro de diálogo modal sobre otro cuadro de diálogo modal
- 13. Cómo deshabilitar cuadros de diálogo - alerta()?
- 14. Entrada de usuario en un cuadro de diálogo de mensaje
- 15. ¿Cómo crear controles como los cuadros de diálogo en Ember?
- 16. jQuery móvil y cuadros de diálogo emergentes
- 17. ¿Cómo puedo cambiar el fondo de los cuadros de diálogo de alerta de Android?
- 18. Cuadro de diálogo con vista de lista y mensaje
- 19. cómo crear cuadros de diálogo/mensaje con estilo de Windows7 con enlaces de comando en C#?
- 20. Android - Cómo descartar todos los cuadros de diálogo en onPause
- 21. ¿Cómo ocultar automáticamente el cuadro de mensaje?
- 22. El cuadro de diálogo no modal de WPF representa el cuadro de texto no editable
- 23. Cómo encontrar todos los cuadros de diálogo en JQuery
- 24. Cómo crear cuadros de diálogo TinyMCE?
- 25. El cuadro de mensaje C#/.NET no es modal
- 26. JOptionPane - cuadro de diálogo de entrada programa
- 27. MVVM Light - Vistas y cuadros de diálogo
- 28. Cómo colocar un icono en el título de un cuadro de diálogo personalizado
- 29. Problema de isótopo con el cuadro de diálogo jQuery
- 30. Personalizar el cuadro de diálogo onbeforeunload
Esto también funciona. – jyoung