/// <summary> /// Fills the items TreeView. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="ReportItemsEventArgs"/> instance containing the event data.</param> private void FillItemsTreeView(object sender, ReportItemsEventArgs e) { try { if (itemsTreeView.Nodes.Count > 0) { itemsTreeView.Nodes.Clear(); } foreach (KeyValuePair <string, List <SystemDataItem> > keyValuePair in e.SystemDataCollections) { var treeNodes = new List <TreeNode>(); keyValuePair.Value?.ForEach(item => treeNodes.Add(new TreeNode( $"Name => {item.Name}, Type => {item.Type}, Value(Curr,MinValue,MaxValue) => ({item.Value}, {item.MinValue}, {item.MaxValue})"))); var treeNode = new TreeNode(keyValuePair.Key, treeNodes.ToArray()); itemsTreeView.Nodes.Add(treeNode); itemsTreeView.ExpandAll(); } } catch (Exception err) { MessageBox.Show($"An error occurred while querying for WMI data: {err.Message}"); } }
/// <summary> /// Handles the ReportItemsEventHandler event of the _systemInfo control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="ReportItemsEventArgs"/> instance containing the event data.</param> private void _systemInfo_ReportItemsEventHandler(object sender, ReportItemsEventArgs e) { if (InvokeRequired) { Invoke(new Action <object, ReportItemsEventArgs>(FillItemsTreeView), sender, e); } else { FillItemsTreeView(sender, e); } }