【问题标题】:C# Perfom Image Search with WInodws.Forms GUIC# 使用 WIndows.Forms GUI 执行图像搜索
【发布时间】:2017-10-05 03:33:53
【问题描述】:

我已经构建了一个简单的应用程序,该应用程序链接到与浏览器窗口右侧的列表框内容相关的图像搜索 url,如下所示:

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)
        {

        }
    }

【问题讨论】:

    标签: c# winforms user-interface


    【解决方案1】:

    您只是想从所选项目中获取文本吗?如果是这样,会这样做吗:

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

    然后只搜索searchText的值。

    不过,我可能会错过您在这里想要实现的目标。

    【讨论】:

    • 这将是答案的一部分,我需要 listBox 中的文本才能进行图像搜索,但如果可能的话,我想做的是每次执行新搜索项目被点击而不是引用旧的搜索。
    猜你喜欢
    • 1970-01-01
    • 2014-09-29
    • 2015-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    相关资源
    最近更新 更多