Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [C#] Applicazione Console / Windows

    Mi chiedevo se era possibile creare un'applicazione che potesse essere sia Console che Windows Form.

    Ovvero.

    L'applicazione viene sempre eseguita con dei parametri in ingresso.

    La differenza è che in alcuni casi esce una form, in altri casi parte direttamente l'elaborazione senza visualizzare la form.

    Il problema è questo:

    Se imposto l'applicazione come Windows form e faccio partire l'applicazione da console e l'esecuzione viene fatta in batch senza visualizzare la form non so quando finisce l'esecuzione e anche mettendo nel codice vari Console.WriteLine() non si vede nulla nella finestrella della console.

    Al contrario, se imposto l'applicazione come da Console e faccio partire l'applicazione in modo che esca una form (viene chiamata con parametri, ma non necessariamente da console, può essere chiamata anche da altre applicazioni), la form esce, ma con una console dos dietro aperta ed in attesa la quale si chiude solo quando chiudo la form.


    Esiste un modo per fargli cambiare in runtime l'assetto da Applicazione Form a Console e viceversa?

    Grazie

  2. #2

  3. #3
    Tnx, ho provato a vedere ma seguendo le varie istruzioni la finestra Console mi si apre, si, ma poi non scrive i vari Console.WriteLine()

  4. #4
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    crea una windows application.
    nel Program.cs inserisci questo

    codice:
    using System;
    using System.Collections.Generic;
    using System.Runtime.InteropServices;
    using System.Windows.Forms;
    
    namespace WindowsApplication1
    {
        static class Program
        {
            [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true, ExactSpelling = true)]
            private static extern bool AllocConsole();
    
            /// <summary>
            /// Punto di ingresso principale dell'applicazione.
            /// </summary>
            [STAThread]
            static void Main()
            {
    
                    AllocConsole();
                   
                    Application.EnableVisualStyles();
                    Application.SetCompatibleTextRenderingDefault(false);
                    Application.Run(new Form1());
                
            }
        }
    }
    poi fai un pò di Console.Write("vvvvv "); e vedrai che funziona...
    l'ho appena provato.
    I got the remedy

  5. #5

  6. #6
    Tnx, domani lo provo

  7. #7
    Niente, la console la crea ma poi non ci scrive niente.

    Secondo me dipende da fatto che uso C# 2003, infatti non ho potuto utilizzare Application.SetCompatibleTextRenderingDefault(fals e); che non la conosce.

    Pazienza...

  8. #8
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    Originariamente inviato da Debiru
    Niente, la console la crea ma poi non ci scrive niente.

    Secondo me dipende da fatto che uso C# 2003, infatti non ho potuto utilizzare Application.SetCompatibleTextRenderingDefault(fals e); che non la conosce.

    Pazienza...
    può essere...
    I got the remedy

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.