ListBox ta Arama Yapmak ve Seçili Itemin Yazı ve Arka Plan Rengini Değiştirmek

 

Merhaba arkadaşlar, bu makalemizde Listboxta arama yapacağız. Bulunan kayıtların yazı ve arka plan rengini değiştireceğiz.

 

ListBox ın SelectionMode özelliğini MultiSimple yapın. ListBox ın yazı ve arka plan rengini değiştirebilmek için, DrawMode özelliğini OwnerDrawFixed olarak seçmemiz gerekmektedir.

 

 












Şekil 1



 


 











Şekil 2

 

Form1.cs

 

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace listbox_search

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

 

        private void textBox1_TextChanged(object sender, EventArgs e)

        {

           

            textBox1.SelectionStart = textBox1.Text.Length;

            for (int i = 0; i < listBox1.Items.Count; i++)

            {

                if (listBox1.Items[i].ToString().Contains(textBox1.Text))

                {

                    listBox1.SetSelected(i, true);

                    if (textBox1.Text == "")

                    {

                        listBox1.SetSelected(i, false);

                    }

                }

                else

                {

                    listBox1.SetSelected(i, false);

                }

            }

        }

 

        private void listBox1_DrawItem(object sender, DrawItemEventArgs e)

        {

            ListBox listBox = (ListBox)sender;

            e.DrawBackground();

            Brush myBrush = Brushes.Black;

            Font myFont;

 

            if ((e.State & DrawItemState.Selected) == DrawItemState.Selected)

            {

                myBrush = Brushes.Red;

                myFont= e.Font;

                listBox1.Font = new Font("Arial", 12, FontStyle.Bold);

                e.Graphics.FillRectangle(new SolidBrush(Color.Yellow), e.Bounds);

            }

 

            else

            {

                myFont = new Font("Arial", 12, FontStyle.Regular);

             

                e.Graphics.FillRectangle(Brushes.White, e.Bounds);

              

 

            }

           

            e.Graphics.DrawString(listBox.Items[e.Index].ToString(), myFont, myBrush, e.Bounds);

          

        }

    }

}


Bir makalenin daha sonuna geldik. Bir sonraki makalede görüşmek üzere. Bahadır ŞAHİN 

About Bahadır Şahin

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.

0 comments:

Öne Çıkan Yayın

GridView da Seçili Satırı DetailsView da Göstermek

Merhaba arkadaşlar bu makalemizde GridView nesnesi ile birlikte DetailsView nesanesini birlikte kullanacağız. GridView da seçili satırın de...