OleViewDotNet.COMRegistryViewer.btnApply_Click C# (CSharp) Method

btnApply_Click() private method

private btnApply_Click ( object sender, EventArgs e ) : void
sender object
e System.EventArgs
return void
        private async void btnApply_Click(object sender, EventArgs e)
        {
            try
            {                
                string filter = textBoxFilter.Text.Trim();
                TreeNode[] nodes;

                if (filter.Length > 0)
                {
                    Func<TreeNode, bool> filterFunc = CreateFilter(filter, comboBoxMode.SelectedIndex, false);
                    nodes = await Task.Run(() => m_originalNodes.Where(n => FilterNode(n, filterFunc)).ToArray());
                }
                else
                {
                    nodes = m_originalNodes;
                }

                treeComRegistry.SuspendLayout();
                treeComRegistry.Nodes.Clear();
                treeComRegistry.Nodes.AddRange(nodes);
                treeComRegistry.ResumeLayout();
            }
            catch(Exception ex)
            {
                MessageBox.Show(this, ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }