private void SearchDiscoveryCallback(DataNode node) { _nodeTree.SelectedNode = FindFrontNode(node); if(_searchForm != null) { _searchForm.DialogResult = DialogResult.OK; _searchForm = null; } }
private void SearchEndCallback(DataNode node) { _searchForm.DialogResult = DialogResult.OK; _searchForm = null; MessageBox.Show("沒有更多的結果了。"); }
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(); }