¿Cómo podemos mostrar la imagen de inicio cuando se inicia mi aplicación ya que cada software funciona como Photoshop, frente a la palabra, etc.? Planeo pegarlo en la forma y luego mostrarlo, pero hay una barra azul superior que viene con controles, etc. cualquier idea/Pantalla Imagen de inicio
Respuesta
¿De verdad quiere una pantalla de bienvenida? Hay muchos ejemplos en la red, por ejemplo: http://www.codeproject.com/KB/cs/prettygoodsplashscreen.aspx
Puedes eliminar todas esas barras azules, etc., a través de Form_Load()
.
Así que si yo fuera usted, me gustaría crear un formulario específico de tamaño, a continuación, establezca lo siguiente en Form_Load()
o directamente en el código generado por el diseñador:
this.FormBorderStyle = FormBorderStyle.None;
this.StartPosition = FormStartPostition.CenterScreen;
Ahora usted tiene una pantalla de bienvenida al igual que muchas otras aplicaciones, todo lo que tiene que hacer es escribir el código para todo lo que lo hace visible o no, etc. :)
Excelente sugerencia. Desafortunadamente, escribir el código para hacerlo visible y ¡todo es la parte más difícil! –
y el problema es que la pantalla no es transparente, hay un color en la parte posterior que estoy usando gif –
¿Está escribiendo una aplicación WinForms o WPF? Deberá establecer diferentes propiedades según el tipo que escriba. Si está escribiendo una aplicación WPF, puede agregar los atributos WindowStyle = "None" y ResizeMode = "NoResize" al elemento Window level-level en XAML. El primero eliminará la barra de título con los botones de minimizar, redimensionar y cerrar, mientras que el segundo eliminará el borde alrededor del formulario.
Ahora, tiene un formulario sin bordes que puede modificar para crear una pantalla de bienvenida si lo desea o simplemente para agregar su imagen de inicio. Si no desea que aparezca su formulario predeterminado, debe agregar los atributos Background = "Transparent" y AllowsTransparency = "True" también. El primero establecerá el color de fondo como transparente, mientras que el segundo permitirá que el programa se vea transparente. Ahora puede agregar cualquier imagen en cualquier forma y el usuario verá solo esa imagen al inicio del programa.
P.S. Asegúrese de cargar otro formulario una vez que se haya mostrado la pantalla de inicio durante un período de tiempo determinado o una vez que los métodos que se supone que "carguen" tengan control de devolución.
¡Cosas bastante simples!
Si está buscando la forma más sencilla, puede utilizar el excelente soporte incorporado de .NET Framework para pantallas de presentación. Tendrá que dejar de lado cualquier temor irracional que pueda tener de incluir algo con el nombre "Visual Basic" en una aplicación C#, pero de esta manera le ahorrará tener que rodar su propia solución personalizada y preocuparse por cosas como multi -hecho, invocación y todo eso. Todo se compila hasta la misma IL al final de todos modos. Así es como funciona:
agregar una referencia a
Microsoft.VisualBasic
a su proyecto.Agregue un nuevo formulario (llamado algo así como
SplashForm
) para que sirva como su pantalla de inicio.Para que se vea más como una pantalla de presentación adecuada, establezca
FormBorderStyle
property del formulario en "Ninguno" y suStartPosition
property en "CenterScreen". Puede agregar cualquier control o imagen a este formulario que desee que se muestre en la pantalla de bienvenida de este formulario.Agregue el código siguiente a su archivo
Project.cs
:using System; using System.Windows.Forms; using Microsoft.VisualBasic.ApplicationServices; namespace WindowsFormsApplication1 { static class Program { [STAThread] static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); new SplashScreenApp().Run(args); } } public class SplashScreenApp : WindowsFormsApplicationBase { protected override void OnCreateSplashScreen() { this.SplashScreen = new SplashForm(); this.SplashScreen.ShowInTaskbar = false; this.SplashScreen.Cursor = Cursors.AppStarting; } protected override void OnCreateMainForm() { //Perform any tasks you want before your application starts //FOR TESTING PURPOSES ONLY (remove once you've added your code) System.Threading.Thread.Sleep(2000); //Set the main form to a new instance of your form //(this will automatically close the splash screen) this.MainForm = new Form1(); } } }
Si usted quiere hacer algo de fantasía, como crear una pantalla transparente al estilo de Adobe Photoshop, puede agregar una imagen PNG de canal alfa al archivo de recursos de su proyecto, y luego agregar el siguiente código a su formulario de pantalla de bienvenida, reemplazando splashImage
con la ruta a su recurso de imagen incrustado:
protected override void OnPaintBackground(PaintEventArgs pevent)
{
Graphics g = pevent.Graphics;
g.DrawImage(splashImage, new Rectangle(0, 0, this.Width, this.Height));
}
protected override void OnPaint(PaintEventArgs e)
{
//Do nothing here
}
Para que esto funcione, asegúrese de que usted tiene el doble buffer volvió fuera, o de lo contrario obtendrá un fondo negro a su formulario. En realidad, no hay ninguna razón para duplicar el búfer en una pantalla de presentación.
¿Por qué tendrías que usar Visual Basic para esto? Todo tu código parece C#. – comecme
@comcme: No sugerí usar Visual Basic, el código está escrito en C#. Sin embargo, sugerí agregar una referencia a 'Microsoft.VisualBasic', que tiene las palabras" Visual Basic ". Todas las funciones en ese espacio de nombres son * también * escritas en C#, y como mencioné, todo compila al mismo IL de todos modos. El punto es que la clase 'WindowsFormsApplicationBase' provista en ese espacio de nombres ya te ofrece todo el negocio de la pantalla de bienvenida de forma gratuita, lo que te evita escribir un montón de código adicional. Era solo una broma que los desarrolladores de C# no deberían enloquecer por el nombre. –
+1 ¡Cody, eres el HOMBRE! Esto es perfecto. Por qué MS no agrega soporte en winforms para la clase SplashScreen, no lo sé. Pero esto es perfecto. Te doy mi sombrero –
WPF 3.5 y superior en realidad tiene incorporado soporte de pantalla de bienvenida, para una visualización más rápida de la pantalla de presentación y mucho (mucho) menos desprestigio con el código. Ver this page para más detalles.
- 1. Establecer fondo de pantalla de inicio
- 2. Cómo agregar un Precargador de aplicaciones/Pantalla de inicio/Pantalla de inicio a Mi aplicación de Android PhoneGap
- 3. Configuración de la imagen de fondo en la pantalla de inicio del simulador
- 4. script de inicio en la pantalla
- 5. Editar la pantalla de inicio en JMonkey Engine
- 6. Pantalla de inicio de la aplicación web iPhone
- 7. Cómo regresar a la pantalla de inicio desde la actividad
- 8. [Pantalla de bienvenida] ¿Cómo mostrar una imagen en pantalla completa?
- 9. La imagen de inicio no se actualiza
- 10. Pantalla de ajuste de imagen en WebView
- 11. Imagen de pantalla completa de iPhone
- 12. Mostrar imagen de la pantalla de bienvenida con ajuste automático
- 13. ¿Es posible cambiar programáticamente la imagen de inicio Default.png?
- 14. Android: cómo configurar la imagen del fondo de pantalla
- 15. Pantalla Retina para una imagen de URL
- 16. pantalla de imagen usando ashx Handler
- 17. Desarrollo de una pantalla de inicio de Android
- 18. Modificar la pantalla de inicio de sesión de Windows
- 19. widget de pantalla de inicio de Android x-y coordenadas
- 20. Deshabilitar el botón de inicio en la aplicación de pantalla de inicio?
- 21. PhpMyAdmin sigue redirigiendo a la pantalla de inicio de sesión
- 22. Mejorar una pantalla de inicio de sesión web
- 23. Ir a la pantalla de inicio de forma programática
- 24. Detecta una aplicación en la pantalla de inicio de iphone
- 25. ¿Cómo implemento una pantalla de inicio de sesión en GWT?
- 26. Android | los iconos de marcador en la pantalla de inicio
- 27. JQuery Mobile ¿Agregar las opciones de la pantalla de inicio?
- 28. iPhone WebApp en Persistencia de pantalla de inicio
- 29. Borrar la pantalla de inicio en R/RStudio
- 30. ¿Cómo lo hacen? Diálogos en la pantalla de inicio
No olvide incluir una opción en su programa para apagar la pantalla de inicio, ¡sus usuarios lo adorarán! –
Simplemente no hagas que tu pantalla de presentación sea lo más importante. Odio las aplicaciones que no puedo eliminar porque insisten en que su pantalla de bienvenida permanezca visible hasta que la aplicación finalmente se cargue. – JLWarlow
WPF o WinForms? –