⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uddiexplorerform.cs

📁 In the previous article, we presented an approach for capturing similarity between words that was co
💻 CS
📖 第 1 页 / 共 3 页
字号:
			catch( TypeInitializationException  e)
			{								
				MessageBox.Show(e.Message.ToString() ) ;			
			}
			catch (Exception e )
			{				
				
				MessageBox.Show(e.Message.ToString() ) ;
			}			
			finally
			{
                SetText set=new SetText (ChangeStatus);
                searchButton.Invoke(set, "&Search");
				if (this.Cursor == Cursors.WaitCursor )
				{
					this.Cursor = Cursors.Default ;
				}

			}
		}
        
        delegate void SetText(string Text);
        private void ChangeStatus(string Text)
        {
            searchButton.Text = Text;
            label3.Text = "Search finished ";
            tvwSearchResults.Enabled = true;
            Add_uddiServerURL();
            if (tvwSearchResults.Nodes.Count > 1)
                btnPostFilter.Enabled = true;
        }

		private void Perform_Search()
		{			
			if (searchButton.Text.Trim () == "&Search")
			{
                btnPostFilter.Enabled = false;
				_uddiServerURL=cboInquireUrl.Text.Trim() ;
				MatchCollection mc=regexURL.Matches(_uddiServerURL);
				if (mc.Count <= 0)
				{					
										
					MessageBox.Show ("The entered URL is invalid.","UDDI Explorer", MessageBoxButtons.OK, MessageBoxIcon.Error);
					return;
				};
                tvwSearchResults.Nodes.Clear();

                tvwSearchResults.Enabled = false;
					
							
				_threadStart=new ThreadStart(UDDISearch);
				_thread=new Thread(_threadStart);				
				searchButton.Text="&Stop";
				label3.Text="Searching...";
				tvwSearchResults.Focus();
				
				_thread.Start();									
				
			} 
			else
			{
				//lock(this)
			{
				searchButton.Text="&Search";
				name.Focus() ;
				tvwSearchResults.Enabled=true;
					

				label3.Text="Stopping...";
				this.Cursor=Cursors.WaitCursor;
                if (_thread != null)
                    if (_thread.IsAlive)
                        _thread.Abort();				
				// Wait for the _thread to quite terminate							
				//_thread.Join (); 
				label3.Text="Search result";
				this.Cursor=Cursors.Default ;
				_thread=null;			
				_threadStart=null;
			};
			};

			tvwSearchResults.SelectedNode=null;
		}
		
	
		private void name_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
		{
			if (e.KeyCode == Keys.Enter )
			{
				Perform_Search();
			};
		}
	


		private void searchButton_Click(object sender, System.EventArgs e)
		{			
			Perform_Search();								
		}
	
		private void tvwSearchResults_Click(object sender, System.EventArgs e)
		{						
		}

	
		private void btnAddSelect_Click(object sender, System.EventArgs e)
		{
			SelectedServiceList=new UDDIServiceList ();
			SelectedServiceList.Clear ();
			foreach (TreeNode n in tvwSearchResults.Nodes )
			{					
				if (n.Tag is UDDIService && n.Checked == true )
				{														 
					SelectedServiceList.Add ((UDDIService)n.Tag);
				};
			};
			
			Save_Settings ();

			if (SelectedServiceList.Count == 0 )
			{
				
			} 
			else this.Close ();			
		}

	
		private void btnCancel_Click(object sender, System.EventArgs e)
		{
			//lock(this)
		{				
			if (_thread != null)
			{
				this.Cursor= Cursors.WaitCursor;

                if (_thread.IsAlive)
				       _thread.Abort ();				
				// Wait for the _thread to quite terminate				
				_thread.Join (); 
				this.Cursor= Cursors.Default ;
			};
		}
			this.Close() ;		
		}

		private void tvwSearchResults_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
		{			
			TreeNode tn=this.tvwSearchResults.GetNodeAt(e.X, e.Y); 

			if (tn != null && (tn.Parent != null || !(tn.Tag is UDDIService)))				
				if (tn.Checked) tn.Checked=false;
								
			//just count those at first node level
			foreach (TreeNode node in tvwSearchResults.Nodes  )
			{
				if ( node.Checked )
				{
					btnAddSelect.Enabled=true;				
					return;
				}
			}
				
			btnAddSelect.Enabled=false;			
														
		}


		private void Add_uddiServerURL()
		{
			MatchCollection mc=regexURL.Matches(_uddiServerURL);
			
			// check if this is valid url			
			if (mc.Count >0 && cboInquireUrl.Text.IndexOf (",") == -1 )
			{
				bool ok=true;
				for (int i=0; i < cboInquireUrl.Items.Count ; i++ )
				{
					if (cboInquireUrl.Items[i].ToString().Trim() == _uddiServerURL )
					{
						ok=false;
						break;
					};
				};

				if ( ok )
				{
					cboInquireUrl.Items.Insert(0 ,cboInquireUrl.Text.Trim() );
					cboInquireUrl.SelectedIndex=0;
				};
				Save_Settings ();
			};
		}

		private void UDDIExplorerForm_Load(object sender, System.EventArgs e)
		{
		
		}

		private void UDDIExplorerForm_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
		{
			if (e.KeyCode == Keys.Escape )
			{
				if (_thread != null)
				{
					this.Cursor=Cursors.WaitCursor;				
					_thread.Abort ();				
					// Wait for the _thread to completely terminate				
					_thread.Join (); 
					this.Cursor= Cursors.Default ;
				};
				this.Close() ;		
			};
		}
		
		private void View_WSDLDetail()
		{
			
			if (tvwSearchResults.SelectedNode == null) return;
			
			TreeNode tnUddi= tvwSearchResults.SelectedNode.Parent ;
			if (tnUddi != null && tnUddi.Tag is UDDIService  )
			{				
				try
				{
					this.Cursor= Cursors.WaitCursor;
					tvwSearchResults.BeginUpdate() ;
					UDDIService s =(UDDIService)tnUddi.Tag;		

					s.LocationFile=s.Name + ".wsdl";	
				    
					TreeNode node=WSDLRetrieval.WSDLToNode(s, true);

					if (node != null)
					{
						node.Text=node.Text;
						tvwSearchResults.SelectedNode.Nodes.Add(node);
					}
					else
					{

						tvwSearchResults.SelectedNode.Nodes.Add(new TreeNode("Can not get the wsdl from its url"));
						tnUddi.Tag=null;					
					}
					tvwSearchResults.SelectedNode.Expand() ;
					
					tvwSearchResults.EndUpdate() ;
					this.Cursor=Cursors.Default ;
				}
				finally
				{						
					tvwSearchResults.EndUpdate() ;
					if (this.Cursor == Cursors.WaitCursor )
					{
						this.Cursor = Cursors.Default ;
					}
				}
				
			};		
		}


		

		private void tvwSearchResults_DoubleClick(object sender, System.EventArgs e)
		{
			if (tvwSearchResults.SelectedNode != null && tvwSearchResults.SelectedNode.Text.Equals( "WSDL Description" )
				&& tvwSearchResults.SelectedNode.GetNodeCount(false)  == 0
				)
			{
				View_WSDLDetail ();
			}
		}


		private void name_TextChanged(object sender, System.EventArgs e)
		{
		
		}

        private string oldVariableCaption = string.Empty;

        private void tvwSearchResults_MouseMove(object sender, MouseEventArgs e)
        {
            TreeNode tn = this.tvwSearchResults.GetNodeAt(e.X, e.Y);
            if (tn == null) return;

            string description = string.Empty;
            if (tn != null)
            {
                if (tn.Tag is string)
                {
                    description= (string)tn.Tag;
                    
                }
                else
                    if (tn.Tag is SchemaParser.NodeData)
                    {
                        SchemaParser.NodeData data = tn.Tag as SchemaParser.NodeData;
                        description = data.baseObj.ToString() + "\n";
                        description += data.Namespace + "\n";
                        description += "DataTypeName: " + data.Type + "\n";                        
                        
                    }
            }


            if (WSDLParser.SchemaHelper.IsNotEmpty(description))
            {                
                if (oldVariableCaption != tn.Text)
                {
                    oldVariableCaption = tn.Text;
                    if (this.toolTip1 != null && this.toolTip1.Active)
                        this.toolTip1.Active = false;

                    this.toolTip1.SetToolTip(this.tvwSearchResults, description);
                    this.toolTip1.Active = true; 
                }
            }
            else
                if (this.toolTip1 != null && this.toolTip1.Active)
                    this.toolTip1.Active = false;

        }

        private void tvwSearchResults_MouseDown(object sender, MouseEventArgs e)
        {
            TreeNode tn = this.tvwSearchResults.GetNodeAt(e.X, e.Y);
            if (tn != null)
            {
                _copyText = tn.Text;
            }
            else
                if (tvwSearchResults.SelectedNode != null)
                    _copyText = tvwSearchResults.SelectedNode.Text;
        }

        private void btnHelp_Click(object sender, EventArgs e)
        {
            HelpForm help = new HelpForm();
            help.Show();
        }

        private void btnPostFilter_Click(object sender, EventArgs e)
        {
            ResultFilter filter = new ResultFilter();
            TreeNode[] newOrder = filter.Rank (tvwSearchResults.Nodes, name.Text);
            tvwSearchResults.Nodes.Clear();
            tvwSearchResults.Nodes.AddRange(newOrder);

            int aaa = 0;
        }

        private void contextMenuStrip1_Opening(object sender, System.ComponentModel.CancelEventArgs e)
        {

        }

        #region CopyURLToClipboard
        //Thanks Daryl 
        Thread th;
        private void toolStripMenuItem1_Click(object sender, EventArgs e)
        {
            try
            {
                if (th != null)
                    if (th.IsAlive)
                        th.Abort();

                th=new Thread(new ThreadStart(CopySTA));
                th.ApartmentState = ApartmentState.STA;
                th.Start();
            }
            catch (Exception ex)
            {
                int aaaa = 0;
            }
        }

        [STAThread]

        private void CopySTA()
        {
          
            Clipboard.SetDataObject(_copyText);
            th.Join();
            //Thread.CurrentThread.Join();
        }

        string _copyText = string.Empty;
        private void tvwSearchResults_AfterSelect(object sender, TreeViewEventArgs e)
        {
            if (tvwSearchResults.SelectedNode != null)
                _copyText = tvwSearchResults.SelectedNode.Text;
        }

        #endregion


    }
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -