İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

C# ListBox & Icon-Images

magnet05.12.201027 cevap10.393 görüntüleme
2005'den beri499 mesaj
#1
Arkadaşlar,

İnternet üzerinden yaptığım araştırmalar da bu ListBox a Icon veya Resim ekleme zımbırtısını çözemedim.:mad::(:cursing:

Elinizde çalıştırdığınız, kod yapısı çok ağır olmayan bir uygulama varsa yollayabilirmisiniz. İnternette yer alan uygulamaların çoğunu inceledim.

istemiş olduğun şekil.

ICON - RESIM - YAZI

Şeklinde olacak.
Cevaplar
2009'den beri508 mesaj
#3
N3CAT1 hocam farkını konuşturdu :)
magnet Konuyu açan
2005'den beri499 mesaj
#4
gListBox'a dün okadar uğraştım. çalıştıramamıştım nedense. Çok tşk ederm =)

Birde bu şekilde oluşturulmuş bir Control içine sınıftan gelen verileri string methodunu OverRide ederek gönderiyorum. Sizce sıkıntı yaşarmıyım? Basit bir online ofline kişi listesi düşünün.

Ayrıca Listbox'ta seçilen item'in arka planına resim veya gradiant lı birşey atamamız mümkünmü =) mümkün oludğunu biliyorum fakat ListBoxun ata sınıfı üzerinde değişiklik yapamadım.
2008'den beri6.607 mesaj
#5
gListBox'ın birkaç satırında hata vardı. Onları düzelttim :)

Dediğiniz münkün ama şuan zamanım yok. Boş bi vaktimde bakmaya çalışayım :)
magnet Konuyu açan
2005'den beri499 mesaj
#6
Ne zaman zamanınız olur =) gerçekten çok yardımcı oldunu tşk ederim =)

---------- Post added at 22:01 ---------- Previous post was at 21:53 ----------

Birde bu gListbox ta, ImageList kullanıyor. ben bunu internette bulunan bir veri tabanı üzerindeki resmi çekeceğim. 100 kayıt olduğunu varsayarsak, imgeliste eklemiş olduğum resimler Program hafızasını veya Ram hafızasını şişirmezmi? Bunu önlemenin yolu var mıdır?
magnet Konuyu açan
2005'den beri499 mesaj
#9
blck_egl dedi: ↑
Seçilen item'ın arkaplanını kırmızı olarak ayarladım ekte. Kafana göre değiştirirsin rengi, gListBox'ın kodlarında yorumları görebilirsin.

http://dl.dropbox.com/u/5329431/ListBoxOrnek.rar
Teşekkür ederim :) Fakat istediğim şey bu değil. basit bir messenger düşünün. Ya da Windows Live Messenger'ı düşünün, kişiyi seçtiğinizde Gradiantlı bir imaj kaplıyor itemin arkasını. ben bukadar profesyönel birşey değilde. daha basit şekildeyapılabilirmi onu araştırıyorum.

bunlar için WPF e girmek istemiyorum, kodlarken sıkıntı yaşıyorum wpf te. güvenemiyorum dönep projem olduğu için.

---------- Post added at 22:49 ---------- Previous post was at 22:45 ----------

N3CAT1 dedi: ↑
Wov =) kalp kalbe karşı diyeceğim yanlış anlaşılmasın =D=D=D=D=D
tam onu sorarken siz cevaplamışsınız =) Arka Plana Imaj atmam mümkünmü peki.
2010'den beri28 mesaj
#10
item'ın arkasında renk yerine image yer alsın istiyorsan (anlattığından anladığım bu :) )

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

e.Graphics.DrawImage(Image.FromFile("C:\\images.jpg"), new Point(0,e.Index * e.Bounds.Height)); kullanabilirsin GListBox üzerinde. Image'ın boyunun uygun olmasına dikkat edersin.

Hatta değişmiş hali :

http://dl.dropbox.com/u/5329431/ListBoxOrnek.rar
magnet Konuyu açan
2005'den beri499 mesaj
#12
Yaaa SDN birtane yaaaa. Hepinize çok teşekkür ederim gerçekten. çok yardımcı oldunuz. fakat son birşey isteyebilirmiyim sizden. sizin kadar profesyonel değilim. çözmekte sıkıntı yaşıyorum.

Resources yani kaynak dosyadaki resimleri çekmek ve listboxta belli bir düzen içerisinde listelenmelerini istiyorum. ama yapamadım lanet olsunki yine =// kusura bakmayın çok zahmet veriyorum:S PS de tasarladım basit olarak.

dosyalar


bu hale getirmek zor olmazsa getirme şansınız var mı:S sadece seçili olduğunda bu resim çıksa yeterli. Çok özürdiliyorum sizlerden uğraştırıyorum.
2008'den beri6.607 mesaj
#13
Mavi ve gri adam resmi hangi durumlarda kullanılacak?
magnet Konuyu açan
2005'den beri499 mesaj
#14
Offline( 0 ) , Online ( 1 ) yanlarındaki ınteger değerler doğrultusunda.

bunu zanendersem gListBox1.Items.Add(new GListBoxItem("resim 1", 0)); veri tabanından gelen değere göre 0 yazan yere yazdırırsam halletmiş olurum.
2010'den beri28 mesaj
#15
Ekte çözümü bulabilirsin

http://dl.dropbox.com/u/5329431/ListBoxOrnek.rar

ImageList üzerine 3 resmi ekledim, online ve offline imajları ile seçili arkaplan resmi. gListBox üzerinde de listbox ın rowheight özelliği, seçili itemların arkaplanına konacak imajın height i ile orantılı bir değer ayarlandı (imaj 30 pixeldi, ben 40 pixel ayarladım ki karışıklık olmasın, istersen oynarsın değerle). Gerisi zaten önceki örneklerle aynı işlem.
magnet Konuyu açan
2005'den beri499 mesaj
#16
blck_egl dedi: ↑
Ekte çözümü bulabilirsin

http://dl.dropbox.com/u/5329431/ListBoxOrnek.rar

ImageList üzerine 3 resmi ekledim, online ve offline imajları ile seçili arkaplan resmi. gListBox üzerinde de listbox ın rowheight özelliği, seçili itemların arkaplanına konacak imajın height i ile aynı ayarlandı. Gerisi zaten önceki örneklerle aynı işlem.
çok teşekkür ederim. ImageList ve Resource kullanmanın farkı nedir. Image list olarak kullanmışsın. Resim kaliteleri düşük ve arka plandaki resim sünüyor bunu çözmenin yolu varmıdır peki. Resource kullanarak bu sıkıntı çıkmaz galiba diye düşünüyorum:S
2010'den beri28 mesaj
#17
Resim kaliteleriyle imageList'in özelliklerinden oynayabilirsin, şu anda 8 bit derinlik kullanıyor, 32 bite alabilirsin. Bunun dışında arkaplanı da aynı imageliste attım, fazladan kullanmayayım, sen kafana göre değiştirirsin diye. Yoksa image ları nereden aldığın pek önemli değil. Farklı bir yerden çekmek istiyorsan resimleri ona göre belirtirsin gListBox arkasında. Tam olarak nasıl kullanacağını, hangi imajı nereden çekeceğini bilmediğimden basit bir şekilde göstermek amacıyla tüm imajları imagelist e attım.
magnet Konuyu açan
2005'den beri499 mesaj
#18
blck_egl dedi: ↑
Resim kaliteleriyle imageList'in özelliklerinden oynayabilirsin, şu anda 8 bit derinlik kullanıyor, 32 bite alabilirsin. Bunun dışında arkaplanı da aynı imageliste attım, fazladan kullanmayayım, sen kafana göre değiştirirsin diye. Yoksa image ları nereden aldığın pek önemli değil. Farklı bir yerden çekmek istiyorsan resimleri ona göre belirtirsin gListBox arkasında. Tam olarak nasıl kullanacağını, hangi imajı nereden çekeceğini bilmediğimden basit bir şekilde göstermek amacıyla tüm imajları imagelist e attım.
32Bit e aldığımda dahi resim kalitelerinde sıkıntı yaşanıyor. Ayrıca arka plan sünüyor nedense. Image listin boyutları neyse ona göre uyarlıyor tam anlamıyla oturmuyor. zaten ımageliset te resime özel olarak boyut veremiyorum pasif kalıyor. aşağıda Print Screen'i görebilirsin.



emeğin ve elinden geleni yaptığın için teşekkür ederim :)
2010'den beri28 mesaj
#19
Arkaplan imajını farklı bir list'e alman gerekir, o imageList in size ı 16x16 olarak ayarlanmış. Diğerleri kalsın imageList'te, gListBox üzerinde 70. satırı şu şekilde değiştir;

e.Graphics.DrawImage(Properties.Resources.Images, e.Bounds);

Resource'a da Images(Images dediğim arkaplan resmin, adı öyle diye Images dedim :) ) ı eklersin. Arkaplanla ilgili sorunun kalmaz.
magnet Konuyu açan
2005'den beri499 mesaj
#20
Properties.Resources.
intelisens özelliğinde neden resources içindeki Image.Jpg i göstermez?
2010'den beri28 mesaj
#21
Gösteriyor aslında. Image.jpg olarak değil de Properties.Resources.Image (Image.jpg olduğu için Image, online.jpg olsa mesela Properties.Resources.Online olacaktı) diye ulaşabilirsin. Intellisense menüde de çıkıyor hatta.
magnet Konuyu açan
2005'den beri499 mesaj
#23


Hata alıyorum. Namespace yazarakta ulaşmaya çalıştım fakat olmadı.
Resource1.Images yazarak hallettim ama neden Resource1 ? =))))))
magnet Konuyu açan
2005'den beri499 mesaj
#25
N3CAT1 dedi: ↑
Çok sağol necati abi =) ya Zor yaa. Vallahi küfür ediyosunuzdur içinizden belki başımıza bela aldık diye :) Gerçekten çok teşekkür ederim.
Ordaki Bar ve Idle ı neden kullandın? ya da neden sorguya soktun? Bir de soldan 10px lik bışluğu neden vermiyor y+8 demişsin. 100 yapsak bile boşluk vermiyor nedeni nedir?
2008'den beri6.607 mesaj
#26
idle'i boş resim olarak kullandım. null atama yapıldığı zaman hata verşyor. O yüzden ben de 1x1 pixellik transparan resim ekledim. Eğer değer seçili ise Bar resmini (senin verdiğin çubuk resmi) çağırıyor. seçili değilse idle resmini çağırıyor.

y+8 verdiğim yerler resmi ve yazıyı ortalamak içindi. ordaki değerleri oynayarak gözüne hoş gelen değeri uygulayabilirsin.
magnet Konuyu açan
2005'den beri499 mesaj
#27
Necati abi ve blc_egl gerçekten 2 nize de çok teşekkür ederim. =) Çok sağolun çok uğraştırdım sizleri. Kusura bakmayın nolur. teşekkür ederim yeniden =)))))))))))))))))
2008'den beri6.607 mesaj
#28
Önemli değil. Yardımcı olabildiysem ne mutlu :)

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.