/// <summary> /// Opens a connection to <see cref="_connection"/>. /// </summary> public async Task Connect() { // Set the top and height of the connection contain panel appropriately depending on if we're auto-hiding the toolbar if (AutoHideToolbar && !_connectionContainerPanelSizeSet) { _connectionContainerPanel.Top = 5; _connectionContainerPanel.Height += 31; } _urlPanel.Text = String.Format( @"<div style=""background-color: #FFFFFF; font-family: {2}; font-size: {3}pt; height: {4}px; color: #9999BF;"">{0}://<font color=""black"">{1}</font></div>", ConnectionFactory.GetProtocol(_connection).ProtocolPrefix, _connection.Host, urlTextBox.Font.FontFamily.GetName(0), urlTextBox.Font.SizeInPoints, _urlPanel.Height); _urlPanelContainer.Visible = true; urlTextBox.Visible = false; _urlPanel.PerformLayout(); // Initialize the UI elements _connectionContainerPanelSizeSet = true; _connectionForm = ConnectionFactory.CreateConnectionForm(_connection, _connectionContainerPanel); _connectionForm.ConnectionLost += _connectionForm_ConnectionLost; _connectionForm.Connected += _connectionForm_Connected; Icon = ConnectionFactory.GetProtocol(_connection).ProtocolIcon; _iconPictureBox.Image = new Icon(Icon, 16, 16).ToBitmap(); Text = _connection.DisplayName; _suppressOmniBar = true; urlTextBox.Text = ConnectionFactory.GetProtocol(_connection).ProtocolPrefix + "://" + _connection.Host; _suppressOmniBar = false; try { _connectionForm.Connect(); } catch (Exception) { Close(); return; } await ParentTabs.RegisterConnection(this, _connection); HideToolbar(); }