Ejemplo n.º 1
0
        private void SearchDiscoveryCallback(DataNode node)
        {
            _nodeTree.SelectedNode = FindFrontNode(node);

            if(_searchForm != null) {
                _searchForm.DialogResult = DialogResult.OK;
                _searchForm = null;
            }
        }
Ejemplo n.º 2
0
        private void SearchEndCallback(DataNode node)
        {
            _searchForm.DialogResult = DialogResult.OK;
            _searchForm = null;

            MessageBox.Show("沒有更多的結果了。");
        }
Ejemplo n.º 3
0
        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();
        }