1.495 messaggi dal 27 dicembre 2005
Ciao,
in VB c'era unìopzione per rendere l'applicazione a istanza singola, possibile che col C# non ci sia ?
67 messaggi dal 05 febbraio 2009
Ciao,
prova a dare un'occhiata a questo.
Si tratta di un'applicazione WPF ma la logica di istanziazione basata sui Mutex dovrebbe fare al caso tuo.

Vito
1.495 messaggi dal 27 dicembre 2005
vibstudio ha scritto:
Ciao,
prova a dare un'occhiata a questo.
Si tratta di un'applicazione WPF ma la logica di istanziazione basata sui Mutex dovrebbe fare al caso tuo.

Vito



Grazie, però non ci posso credere che il vb ha l'opzione e il c# no !!!!
67 messaggi dal 05 febbraio 2009
Di che opzione parli? Rendici edotti su questa "leccornia" di VB.NET
1.495 messaggi dal 27 dicembre 2005
http://postimg.org/image/mrhu0i895/
67 messaggi dal 05 febbraio 2009
Il flag di cui parli per progetti Windows Forms C# non esiste.

Per gli "aficionados" di Visual Basic, tuttavia, esiste la possibilità di referenziare l'assembly Microsoft.VisualBasic direttamente in un progetto C# per impedire che la loro applicazione possa essere eseguita più volte:
using System;
using System.Windows.Forms;

using Microsoft.VisualBasic.ApplicationServices;

namespace SingleInstanceWinFormCsharp
{
    static class Program
    {
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            string[] args = Environment.GetCommandLineArgs();
            SingleInstanceApplication app = new SingleInstanceApplication();
            app.Run(args);
        }

        public class SingleInstanceApplication : WindowsFormsApplicationBase
        {
            public SingleInstanceApplication()
            {
                IsSingleInstance = true;

                StartupNextInstance += my_StartupNextInstance;
            }

            void my_StartupNextInstance(object sender, StartupNextInstanceEventArgs e)
            {
                Form1 form = MainForm as Form1;
            }

            protected override void OnCreateMainForm()
            {
                MainForm = new Form1();
            }
        }
    }
}


Nessun flag per Windows Forms a singola istanza: ci mettiamo a criticare C# per questa quisquilia?


vibstudio
Modificato da vibstudio il 16 dicembre 2015 13.52 -
1.495 messaggi dal 27 dicembre 2005
No però mi sembra una sciochezza non implementarlo.....'tutte queste righe di codice' per una cosa cosi semplice, non capisco la mancanza.

Comunque ovvio che sopravviveremo :)

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.