Me pregunto si es posible 'apagar' la ventana principal para que no se cargue automáticamente cuando mi programa comience con un argumento de línea de comandos (es decir, cuando se pasa un nombre de archivo). El problema que tengo es que mi programa se carga cuando se hace clic en un archivo asociado a él, pero lo hace abriendo otra ventana principal y usándola. El problema que tengo es que el programa todavía inicia MainWindow luego, abriendo así dos Windows, uno con el contenido del archivo y otro que está vacío.C# - Programa sin ventana
¿Cómo evito la ventana en blanco? Según lo veo, o bien impido que abra la ventana principal, cierro la ventana principal o hago que el programa pase el archivo a la ventana principal. Mi problema es que no sé cuál de estos sería el mejor o cómo hacerlo.
Este es el código:
protected override void OnStartup(StartupEventArgs e)
{
if (e.Args != null && e.Args.Count() > 0)
{
this.Properties["ArbitraryArgName"] = e.Args[0];
}
base.OnStartup(e);
if (Application.Current.Properties["ArbitraryArgName"] != null)
{
string fname = Application.Current.Properties["ArbitraryArgName"].ToString();
MainWindow mw = new MainWindow();
mw.Show();
mw.readVcard(fname);
Application.Current.Windows.
}
}
EDIT:
Mi solución está en el fondo.
¿Qué parte de leer el argumento de la línea de comando y si tiene algún valor, no mostrar la ventana principal no funciona? –