muratboy31 Posted December 1, 2015 Share Posted December 1, 2015 Arkadaşlar merhaba, runtime da oluşturduğum listboxlar var, bunlarda bulunan itemnlerden seçili olandan bazı bilgiler almak istiyorum ancak bunu bir fonksiyon içinden kullanmam lazımo yüzden sender alamıyorum, bunu nasıl yapabişlirim ! aşağıdaki örnekte, runtime oluşturulan bir listbox itemi ile listBox2 de bulunan bir itemin Tag larını karşılaştırmak istiyorum ; private void yaz() { ListBox listBox = new ListBox(); string ID = (listBox.SelectedItem as ListBoxItem).Tag as string; int number = -1; foreach (ListBoxItem item in listBox2.Items) { if(ID == item.Tag.ToString()) { number++; } } if (number > -1) MessageBox.Show("Kişi zaten favorilerinizde !", "Hata", MessageBoxButtons.OK); else { MessageBox.Show("Kişi zaten favorilerinize eklendi!", "Başarılı", MessageBoxButtons.OK); } } Quote Link to comment Share on other sites More sharing options...
KintaRo Posted December 1, 2015 Share Posted December 1, 2015 tamam ama runtime'da oluşturulan listbox'a hiç bir veri yüklenmemiş örnekte, nasıl karşılaştırma yapılacak? Quote Link to comment Share on other sites More sharing options...
muratboy31 Posted December 1, 2015 Author Share Posted December 1, 2015 yok aslında veri yüklü, form onload da yüklüyor verileri... aslında çözüm buldum ama daha iyi bir çözüm olabilir mi diye düşünüyorum.. global olarak bir string tanımladım, listbox selected change olayında veriyi string e atayıp öyle işlem yaptırıyorum... ancak daha iyi bir çözüm var mı bilmiyorum Quote Link to comment Share on other sites More sharing options...
KintaRo Posted December 1, 2015 Share Posted December 1, 2015 mantıklı duruyor, çalışan şeyi ellemeyiz genelde :D Quote Link to comment Share on other sites More sharing options...
Editor pairs Posted December 1, 2015 Editor Share Posted December 1, 2015 on load da naısl yüklüyon ben anlamadım :D yaz kısmında oluşturduğun listbox a :D Quote Link to comment Share on other sites More sharing options...
muratboy31 Posted December 1, 2015 Author Share Posted December 1, 2015 bende onu diyorum, aslında oluştrmama gerek yok ama sender olarak o listbox u nasıl alabilirim bu fonksiyon içinde ? Quote Link to comment Share on other sites More sharing options...
muratboy31 Posted December 1, 2015 Author Share Posted December 1, 2015 (edited) Arkadaşlar listBox_SelectedIndexChanged olaynda eğer listbox ta 1 item var ise, işlem yaptıramıyorum, çözümü var mıdır acaba ? gerçe ben bir çözüm buldum ama sağlıklı değil gibi, seçim yaptıktan sonra selected -1 yaptırıyorum ama ileride sorun çıkarır diye düşünüyor, daha iyi bir çözüm var mıdır acaba ? Edited December 1, 2015 by muratboy31 Quote Link to comment Share on other sites More sharing options...
Editor pairs Posted December 1, 2015 Editor Share Posted December 1, 2015 listbox da bir item seçildiyse çalışıyor o event -1 seçilmemiş demektir. Quote Link to comment Share on other sites More sharing options...
muratboy31 Posted December 1, 2015 Author Share Posted December 1, 2015 aslında sorun şöyle; mesela listboxlar arası geçiş yaptığımda hali hazırda seçili olan itemi bir daha seçemediğim için bilgileri çekemiyorum. o yüzden -1 yapıyorum hiçbirşey seçilmemiş gibi olsun ki bilgileri tekrar çekebileyim... ama bana hiç iyi bir çözüm gibi gelmedi... anlatabilmişimdir umarım. Tamam halletim gibi ; değişikliği tab değiştiğinde yapıyorum... Stack<Control> controlStack = new Stack<Control>(); foreach (Control c in this.Controls) { controlStack.Push(c); } Control ctl; while (controlStack.Count > 0 && (ctl = controlStack.Pop()) != null) { if (ctl is ListBoxAdv) { (ctl as ListBoxAdv).SetSelected(-1, true); } foreach (Control child in ctl.Controls) { controlStack.Push(child); } } Quote Link to comment Share on other sites More sharing options...
KintaRo Posted December 1, 2015 Share Posted December 1, 2015 bence sen her şeyi fonksiyonla yapmak istiyorsun, o yüzden normal kod ile yapmaktan korkuyorsun. tüm iletilerin genelde böyle. her normal kod spagetti kod değildir, bazı işleri böyle global değişkenlerle halledebilirsin bunda bir şey yok ki, herkes yapıyor bunu. illa her şey fonksiyon içinde olsun dersen yanlış olmaz ama boşuna yorarsın kendini. Ben hemen hemen her projede ve projenin farklı yerlerinde kullandığım fonksiyonları bir cs dosyasında, form içinde kullandıklarımı da ayrı bir cs dosyasında tutuyorum. Öncelikle her projede kullanacağın bir hiyerarşi oluşturmalısın, sonra da bu yapıya göre gitmelisin. Bir kaç proje sonra bu yapın sağlamlaşacak ve işlerini kolaylaştıracaktır. Şu an çalıştığım proje hiyerarşisi şu şekilde: Quote Link to comment Share on other sites More sharing options...
muratboy31 Posted December 1, 2015 Author Share Posted December 1, 2015 Bilgi için teşekkürler Kintaro aslında herşeyi uzaktan yönetilerilir yapmak istiyorum, yane her seferinde onlarca bilgisayarı dolaşmak istemiyorum, mesela bir şube eklediğimde bunu veri tabanından yapıyorum, otomatik olarak tab ve bunun içine listbox ve özellikleri ekliyorum, o yüzden aktif kontroller üzerinde işlemleri yapmak biraz zorlaşıyor. ve her hata payını gözden geçiriyorum ki kullananlar sorun yaşamasın daha sonra, çünkü bulunduğum yerde işi bırakında bir değişikiklik yapmam lazım demem zor sürekli çalışma halinde personeller... buarada bazı iş kolaylaştıracak cs dosyaların varsa kullanmak isterim :) Quote Link to comment Share on other sites More sharing options...
Editor pairs Posted December 1, 2015 Editor Share Posted December 1, 2015 team verebilirsen bakayım bi ne yapmak istediğine muratboy31 Quote Link to comment Share on other sites More sharing options...
KintaRo Posted December 1, 2015 Share Posted December 1, 2015 Aynı dert bende de var, şirkette 7 client var, projede değişiklik yapınca bir şekilde onları güncellemem gerekiyor. Bunu ben güncelleme sistemi ile çözdüm. Sunucuda bir kontrol dosyam var, programlar açılışta ve/veya güncelleme kontrol buttonuyla bu dosyadaki versiyon ile kendi versiyonlarını karşılaştırıyor, eğer güncelleme varsa kullanıcıdan onay istiyor, kullanıcı onay verirse güncelleme işlemi başlıyor ve gerekli dosyalar güncelleniyor. Yani toplamda 20-30 sn gibi bir süre. Bu iş benim iş yükümü baya bir kolaylaştırıyor. şurada işine yarayacak bir kaç fonksiyon vardır: http://paste2.org/3zfOMexG Quote Link to comment Share on other sites More sharing options...
Editor pairs Posted December 1, 2015 Editor Share Posted December 1, 2015 Visual Studio nun publish özelliği var eğer onu kullanırsanız siz yeni bir sürümü derlediğinizde kullanıcılarda otomatik olarak uyarı çıkar ve tıklayıp güncelleye bilirler. Yani onca koda gerek kalmaz. Quote Link to comment Share on other sites More sharing options...
KintaRo Posted December 1, 2015 Share Posted December 1, 2015 benim sistemim microsoft'un sisteminden daha iyi, hemde çok az kodla :devil: Quote Link to comment Share on other sites More sharing options...
Editor pairs Posted December 1, 2015 Editor Share Posted December 1, 2015 benim sistemim microsoft'un sisteminden daha iyi, hemde çok az kodla :devil: Dediğimde kod yazmıyorsunki :D Quote Link to comment Share on other sites More sharing options...
KintaRo Posted December 1, 2015 Share Posted December 1, 2015 Dediğimde kod yazmıyorsunki :D Türkçe hocana selam ederim, daha az kodla demedim çok az kodla dedim. pairs sebebin olurum git :D Quote Link to comment Share on other sites More sharing options...
muratboy31 Posted December 1, 2015 Author Share Posted December 1, 2015 (edited) Teşekkürler çok işime yarayacak kodlar, ayrıca güncelleme örneğini verebilir misin münkünse. @ pairs Team yarın veririm tabi sen müsait olursan, benim mesai 18:00 de bitiyor. :) Edited December 1, 2015 by muratboy31 Quote Link to comment Share on other sites More sharing options...
Editor pairs Posted December 1, 2015 Editor Share Posted December 1, 2015 Teşekkürler çok işime yarayacak kodlar, ayrıca güncelleme örneğini verebilir misin münkünse. @ pairs Team yarın veririm tabi sen müsait olursan, benim mesai 18:00 de bitiyor. :) Yarın pek müsait olacağım söylenemez :D. Ben 5:30 da çıkıyorum denk gelirsek bakarız. Quote Link to comment Share on other sites More sharing options...
artal73 Posted December 1, 2015 Share Posted December 1, 2015 (edited) Listbox Sender derken oluşturduğunuz bir Listbox eventini çagırmaktan mı bahsediyorsunuz? Edited December 1, 2015 by artal73 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.