private static string GetListViewText
        (
            [CanBeNull] ListView listView,
            [CanBeNull] string defaultColumnName,
            [CanBeNull] string defaultCellText,
            [CanBeNull] string rowsSeparator)
        {
            var listViewContentBuilder = new StringBuilder();

            if (listView != null)
            {
                var columncount = listView.Items.Count;

                for (var rowsCounter = 0;
                     rowsCounter < columncount;
                     rowsCounter++)
                {
                    TraceHostForm.GetListViewRowText
                    (
                        listView,
                        defaultColumnName,
                        defaultCellText,
                        rowsCounter,
                        listViewContentBuilder);
                    listViewContentBuilder.Append
                    (
                        rowsSeparator);
                }
            }
            var contentAsText = listViewContentBuilder.ToString();

            return(contentAsText);
        }
 /// <summary>
 /// </summary>
 private void ShowTraceToHostForm( )
 {
     if (this._initializeComplete)
     {
         using (var traceHostForm = new TraceHostForm( ))
         {
             traceHostForm.ShowDialog(this);
         }
     }
 }
 /// <summary>
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void DoCopyAll_Click
 (
     object sender,
     EventArgs e)
 {
     TraceHostForm.CopyListViewContentToClipboard
     (
         this.RouteListView,
         Handler.DefaultColumnName,
         Handler.EmptyColumnValue,
         Environment.NewLine
     );
 }
        /// <summary>
        /// </summary>
        /// <param name="routeListView"></param>
        /// <param name="defaultColumnName"></param>
        /// <param name="defaultCellText"></param>
        /// <param name="rowsSeparator"></param>
        private static void CopyListViewContentToClipboard
        (
            [CanBeNull] ListView routeListView,
            [CanBeNull] string defaultColumnName,
            [CanBeNull] string defaultCellText,
            [CanBeNull] string rowsSeparator
        )
        {
            var content = TraceHostForm.GetListViewContentAsString
                          (
                routeListView,
                defaultColumnName,
                defaultCellText,
                rowsSeparator
                          );

            Clipboard.Clear( );
            Clipboard.SetText(content);
        }
        private static string GetListViewContentAsString
        (
            [CanBeNull] ListView routeListView,
            [CanBeNull] string defaultColumnName,
            [CanBeNull] string defaultCellText,
            [CanBeNull] string rowsSeparator
        )
        {
            var contentAsText = string.Empty;
            var tryAction     = routeListView != null;

            if (tryAction)
            {
                contentAsText = TraceHostForm.GetListViewText(
                    routeListView,
                    defaultColumnName,
                    defaultCellText,
                    rowsSeparator);
            }
            return(contentAsText);
        }
        /// <summary>
        /// </summary>
        /// <param name="routeListView"></param>
        /// <param name="defaultColumnName"></param>
        /// <param name="defaultCellText"></param>
        /// <param name="rowsCounter"></param>
        /// <param name="listViewContentBuilder"></param>
        private static void GetListViewRowText
        (
            [CanBeNull] ListView routeListView,
            [CanBeNull] string defaultColumnName,
            [CanBeNull] string defaultCellText,
            int rowsCounter,
            [CanBeNull] StringBuilder listViewContentBuilder)
        {
            if (routeListView != null)
            {
                var columnsCount = routeListView.Columns.Count;
                for (var columnsCounter = 0;
                     columnsCounter < columnsCount;
                     columnsCounter++)
                {
                    if ((defaultColumnName != null) &&
                        (defaultCellText != null))
                    {
                        var columnName = TraceHostForm.GetColumnName
                                         (
                            routeListView,
                            defaultColumnName,
                            columnsCounter);

                        var cellText = TraceHostForm.GetCellText
                                       (
                            routeListView,
                            defaultCellText,
                            rowsCounter,
                            columnsCounter);

                        var text = $" {columnName} : '{cellText}' ;";
                        listViewContentBuilder?.Append
                        (
                            text);
                    }
                }
            }
        }