2017-10-05 40 views
-1

我已经建立了一个简单的应用程序链接到图片搜索的有关列表框的浏览器窗口右侧的内容的URL如下:与WInodws.Forms GUI C#Perfom图片搜索

https://1drv.ms/i/s!Ar02lrNB2lmbm0g7RF3RY6-T6NHz

我已经完成了这几个if语句引用我的列表框的索引,我所希望的是对这个问题更有说服力的解决方案。截至目前,每个新的搜索词必须是硬编码的,并且指的是相同的图像搜索,是否偶然可以读取列表框中的文本并执行图像搜索而不是我拥有的解决方案?我的意思是它的作品,但必须有更好的方法。

public partial class frmCatSearch : Form 
    { 
     public frmCatSearch() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      // Event Handler for the button 
      // Pop up a message box with the current time/date 
      MessageBox.Show(DateTime.Now.ToString()); 
     } 
     /// <summary> 
     /// Navigates to a google image search depending on the selected 
     /// listbox item. 
     /// </summary> 
     /// <param name="sender"></param> 
     /// <param name="e"></param> 
     private void listBox1_SelectedIndexChanged(object sender, EventArgs e) 
     { 
      if (lblArtimus.SelectedIndex == 0) 
      { 
       artimusBrowser.Navigate("https://www.google.com/search"); 
      } 
      if (lblArtimus.SelectedIndex == 1) 
      { 
       artimusBrowser.Navigate("https://www.google.com/search"); 
      } 
      if (lblArtimus.SelectedIndex == 2) 
      { 
       artimusBrowser.Navigate("https://www.google.com/search"); 
      } 

      //else 
      //{ 
      // artimusBrowser.Navigate("https://images.google.com/?gws_rd=ssl"); 
      //} 
     } 

     //Code purposefully omitted 

     /// <summary> 
     /// Loads objects into listbox 
     /// </summary> 
     /// <param name="sender"></param> 
     /// <param name="e"></param> 
     private void frm_Load(object sender, EventArgs e) 
     { 
      //Add some cats 
      lblArtimus.Items.Add("Alley Cat"); 
      lblArtimus.Items.Add("American Bobtail"); 
      lblArtimus.Items.Add("Burmilla"); 
      lblArtimus.Items.Add("Cornish Rex"); 
      lblArtimus.Items.Add("Devon Rex"); 
      lblArtimus.Items.Add("Maine Coon"); 
      lblArtimus.Items.Add("Chesire"); 

     } 

     private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
     { 

     } 
    } 

回答

1

你只是试图从选定的项目中获取文本?如果是这样,这样做:

string searchText = this.listBox1.SelectedItem.ToString(); 

然后只是搜索searchText的值。

虽然我可能会想念你想要达到的目标。

+0

这将是答案的一部分,为了进行图像搜索,我需要listBox中的文本,但是如果可能,我想要做的是在每次单击某个项目时执行新的搜索,而不是引用旧的搜索。 – shockemc