public void Show(FeatureProperties[] featureProperties) { if (featureProperties.Length == 0) { Hide(); return; } var builder = new StringBuilder(); foreach (var featureProperty in featureProperties) { builder.Append(featureProperty.FormatAsHtml()); } _uiThreadInvoke.FireAndForget(() => { _parent.SuspendLayout(); var browser = GetOrAddWebBrowser(); browser.BringToFront(); browser.DocumentText = Resources.MapInfoDockPanel.Replace( MapInfoDockPanelName, builder.ToString()); browser.Visible = true; _parent.ResumeLayout(); }); }
public MessageDisplay(Control[] parentControls, Control templateControl, IUiThreadInvoke uiThreadInvoke) { _templateControl = templateControl; _messagesLabels = new Label[parentControls.Length]; for (var pos = 0; pos < _messagesLabels.Length; pos++) { _messagesLabels[pos] = new Label { Name = "AA_MessageDisplay", AutoSize = true, ForeColor = _templateControl.ForeColor, BackColor = _templateControl.BackColor, Visible = false, Dock = DockStyle.Bottom, Margin = new Padding(_templateControl.Height), Font = new Font(FontFamily.GenericSansSerif, 10, FontStyle.Bold) }; } _uiThreadInvoke = uiThreadInvoke; _uiThreadInvoke.FireAndForget(() => { for (var pos = 0; pos < _messagesLabels.Length; pos++) { parentControls[pos].Controls.Add(_messagesLabels[pos]); _messagesLabels[pos].BringToFront(); } }); }
public void AddMessage(Message message) { _messages.Add(message); var messages = FormatMessages(); _uiThreadInvoke.FireAndForget(() => { foreach (var messagesLabel in _messagesLabels) { if (!messagesLabel.Parent.Visible) { continue; } messagesLabel.Text = messages; messagesLabel.ForeColor = _templateControl.ForeColor; messagesLabel.Visible = messages.Length > 0; } }); }