KONU : C Sharp Uygulamalar - C Sharp ( C# ) form combobox genişliğini ayarlama. Combobox genişliğini seçilen elemanın uzunluğuna göre ayarlama.
UYGULAMAYI İNDİR
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace C_Sharp_Form_ComboBox_Genislik_Ayarlama
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
//Burada combobox genişliği seçilen elemana göre değiştiriliyor
comboBox1.Width = comboBoxGenislik(comboBox1, comboBox1.SelectedIndex);
}
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
//Burada combobox genişliği seçilen elemana göre değiştiriliyor
comboBox2.Width = comboBoxGenislik(comboBox2, comboBox2.SelectedIndex);
}
//Bu metot combobox genişliğinin seçilen elemana göre hesaplıyor
//ve bu değeri geri döndürüyor
private int comboBoxGenislik(ComboBox comboBox, int indeks)
{
int uzunluk = 0;
Label etiket = new Label();
etiket.Text = comboBox.Items[indeks].ToString();
uzunluk = etiket.PreferredWidth;
etiket.Dispose();
return uzunluk + 20;//20 değeri combobox okunun genişliği
}
private void Form1_Load(object sender, EventArgs e)
{
comboBoxDoldur();
//burada dropdown genişliği ayarlanıyor.
//dropdown genişliği en uzun elemana göre ayarlanıyor
comboBox1.DropDownWidth = DropDownGenislik(comboBox1);
}
//burada dropdown da görünen elemanların uzunlukları hesaplanıyor
//en uzun elemanın genişliği geri döndürülüyor.
private int DropDownGenislik(ComboBox comboBox)
{
int maksimumGenislik = 0;
int uzunluk = 0;
Label etiket = new Label();
foreach (var eleman in comboBox.Items)
{
etiket.Text = eleman.ToString();
uzunluk = etiket.PreferredWidth;
if (uzunluk > maksimumGenislik)
maksimumGenislik = uzunluk;
}
etiket.Dispose();
return maksimumGenislik;
}
//comboBox rastgele doldurma
private void comboBoxDoldur()
{
comboBox1.Items.Add("Birinci eleman genişlik uzun");
comboBox1.Items.Add("İkinci eleman");
comboBox1.Items.Add("Kısa");
comboBox1.Items.Add("Rasgele eleman");
comboBox1.Items.Add("Bu etiket kısa");
comboBox1.Items.Add("Combobox islemler");
for (int i = 0; i < comboBox1.Items.Count; i++)
{
comboBox2.Items.Add(comboBox1.Items[i]);
}
}
}
}

Hiç yorum yok :
Yorum Gönder