Yazı Font Küçült Yazı Font Büyült

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. 

 

Resim1 

 

Şekil 1

 

Resim1 

 

Ş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