Exemple #1
0
        private void SimConnectConnect(object sender, RoutedEventArgs e)
        {
            bool   bConnected = false;
            string strAppName = "SimConnectTestWPF";

            if (sender == ConnectLocal)
            {
                try
                {
                    sc.Open(strAppName);
                }
                catch (SimConnect.SimConnectException)
                {
                    MessageBox.Show(this, "Local connection failed", strAppName, MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
                bConnected = true;
            }
            else if (sender == ConnectCustom)
            {
                SimConnectConfigure scConfig = new SimConnectConfigure();
                scConfig.NetworkMode   = LastNetworkMode;
                scConfig.NetworkServer = LastNetworkServer;
                scConfig.NetworkPort   = LastNetworkPort;
                scConfig.ShowDialog();
                if (scConfig.OKPressed)
                {
                    try
                    {
                        if (scConfig.NetworkMode == SimConnectConfigure.NetworkingMode.Pipe)
                        {
                            sc.Open(strAppName, scConfig.NetworkServer, scConfig.NetworkPort);
                        }
                        else if (scConfig.NetworkMode == SimConnectConfigure.NetworkingMode.IPv4)
                        {
                            sc.Open(strAppName, scConfig.NetworkServer, scConfig.NetworkPortInt, false);
                        }
                        else
                        {
                            sc.Open(strAppName, scConfig.NetworkServer, scConfig.NetworkPortInt, true);
                        }
                    }
                    catch (SimConnect.SimConnectException)
                    {
                        MessageBox.Show(this, "Remote connection failed", strAppName, MessageBoxButton.OK, MessageBoxImage.Error);
                        return;
                    }
                    LastNetworkMode   = scConfig.NetworkMode;
                    LastNetworkServer = scConfig.NetworkServer;
                    LastNetworkPort   = scConfig.NetworkPort;
                }
                bConnected = scConfig.OKPressed;
            }
            if (bConnected)
            {
                Connect.Visibility    = Visibility.Collapsed;
                Disconnect.Visibility = Visibility.Visible;
            }
        }
Exemple #2
0
        private void menuConnectCustom_Click(object sender, EventArgs e)
        {
            SimConnectConfigure scConfig = new SimConnectConfigure();

            scConfig.NetworkMode   = LastNetworkMode;
            scConfig.NetworkServer = LastNetworkServer;
            scConfig.NetworkPort   = LastNetworkPort;

            if (scConfig.ShowDialog(this) == DialogResult.OK)
            {
                try
                {
                    if (scConfig.NetworkMode == SimConnectConfigure.NetworkingMode.Pipe)
                    {
                        sc.Open(strAppName, scConfig.NetworkServer, scConfig.NetworkPort);
                    }
                    else if (scConfig.NetworkMode == SimConnectConfigure.NetworkingMode.IPv4)
                    {
                        sc.Open(strAppName, scConfig.NetworkServer, scConfig.NetworkPortInt, false);
                    }
                    else
                    {
                        sc.Open(strAppName, scConfig.NetworkServer, scConfig.NetworkPortInt, true);
                    }
                }
                catch (SimConnect.SimConnectException)
                {
                    MessageBox.Show(this, "Custom connection failed", strAppName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                LastNetworkMode   = scConfig.NetworkMode;
                LastNetworkServer = scConfig.NetworkServer;
                LastNetworkPort   = scConfig.NetworkPort;

                menuConnect.Visible    = false;
                menuDisconnect.Visible = true;
            }
        }