private void UpdateTreeViewFromBackgroundThread(TreeView treeView) { // Do some long-running operation on a background thread var nodes = GetNodes(); // Invoke the TreeView control's update method on the UI thread treeView.Invoke((MethodInvoker)delegate { treeView.Nodes.Clear(); treeView.Nodes.AddRange(nodes); }); }
private void SelectNode(TreeView treeView, TreeNode node) { // Invoke the TreeView control's select method on the UI thread treeView.Invoke((MethodInvoker)delegate { node.EnsureVisible(); treeView.SelectedNode = node; }); }In this example, we have a method that selects a node in the TreeView control. We use the Invoke method to ensure that the TreeView control is updated on the UI thread, which is necessary when selecting nodes from a non-UI thread. The System.Windows.Forms TreeView Invoke method is part of the .NET Framework library, which is included in the System.Windows.Forms package.