private void SearchNextNode() { if (_searchState == null) { return; } SearchWorker worker = new SearchWorker(_searchState); Thread t = new Thread(new ThreadStart(worker.Run)); t.IsBackground = true; t.Start(); _searchForm = new CancelSearchForm(); if (_searchForm.ShowDialog(this) == DialogResult.Cancel) { worker.Cancel(); _searchState = null; UpdateUI(); } t.Join(); }
private void SearchNode(TreeNode node) { if (node == null || !(node.Tag is DataNode)) { return; } DataNode dataNode = node.Tag as DataNode; if (!dataNode.CanSearchNode) { return; } Find form = new Find(); if (form.ShowDialog() != DialogResult.OK) { return; } _searchState = new SearchStateWin(this) { RootNode = dataNode, SearchName = form.NameToken, SearchValue = form.ValueToken, DiscoverCallback = SearchDiscoveryCallback, CollapseCallback = SearchCollapseCallback, EndCallback = SearchEndCallback, }; SearchNextNode(); }
public void SearchEndCallback(DataNode node) { if (_searchForm != null) { _searchForm.DialogResult = DialogResult.OK; _searchForm = null; } _searchState = null; UpdateUI(); MessageBox.Show("End of results"); }
private void SearchNextNode() { if (_searchState == null) return; SearchWorker worker = new SearchWorker(_searchState); Thread t = new Thread(new ThreadStart(worker.Run)); t.IsBackground = true; t.Start(); _searchForm = new CancelSearchForm(); if (_searchForm.ShowDialog(this) == DialogResult.Cancel) { worker.Cancel(); _searchState = null; } t.Join(); }
private void SearchNode(TreeNode node) { if (node == null || !(node.Tag is DataNode)) return; DataNode dataNode = node.Tag as DataNode; if (!dataNode.CanSearchNode) return; Find form = new Find(); if (form.ShowDialog() != DialogResult.OK) return; _searchState = new SearchStateWin(this) { RootNode = dataNode, SearchName = form.NameToken, SearchValue = form.ValueToken, DiscoverCallback = SearchDiscoveryCallback, CollapseCallback = SearchCollapseCallback, EndCallback = SearchEndCallback, }; SearchNextNode(); }
public void SearchEndCallback (DataNode node) { if (_searchForm != null) { _searchForm.DialogResult = DialogResult.OK; _searchForm = null; } _searchState = null; UpdateUI(); MessageBox.Show("End of results"); }