Пример #1
0
        /// <summary>
        /// handle lsbSite selected index changed, load list of manga
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void lsbSite_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                Model.Site site = (Model.Site) this.lsbSite.SelectedItem;
                this.lsbManga.DataSource = new BindingSource()
                {
                    DataSource = site.Mangas
                };
                this.lsbManga.DisplayMember = this.lsbManga.ValueMember = "Name";

                //initilize auto complete string collection from manga name
                AutoCompleteStringCollection src = new AutoCompleteStringCollection();
                foreach (Manga manga in site.Mangas)
                {
                    src.Add(manga.Name);
                }

                this.txtSearchManga.AutoCompleteMode         = AutoCompleteMode.Suggest;
                this.txtSearchManga.AutoCompleteSource       = AutoCompleteSource.CustomSource;
                this.txtSearchManga.AutoCompleteCustomSource = src;
            }
            catch (Exception)
            {
                MessageBox.Show("Error occurred, please try again later!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Пример #2
0
        /// <summary>
        /// handle txt search manga text changed event
        /// search manga which is start with input character
        /// if text == "", get all list of manga
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void txtSearchManga_TextChanged(object sender, EventArgs e)
        {
            try
            {
                Model.Site   site         = (Model.Site) this.lsbSite.SelectedItem;
                string       searchString = this.txtSearchManga.Text.Trim();
                List <Manga> mangas;

                if (string.IsNullOrEmpty(searchString) || string.IsNullOrWhiteSpace(searchString))
                {
                    mangas = site.Mangas;
                }
                else
                {
                    mangas = (from manga in site.Mangas
                              where manga.Name.ToUpper().StartsWith(searchString.ToUpper())
                              select manga).ToList();
                }

                this.lsbManga.DataSource = new BindingSource()
                {
                    DataSource = mangas
                };
            }
            catch (Exception)
            {
                MessageBox.Show("Error occurred, please try again later!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }