none
C# Listbox süre ekleme - Yardım (Çözüldü) RRS feed

  • Genel Tartışma

  • Arkadaşlar yapacagım projede çok ciddi bir rol oynayan bu kısmı bir türlü aşamadım. C#'ta daha çok yeniyim ve kendimi geliştirmeye çalısıyorum. Yardıma ihtiyacım olan konu ise

    Bir adet listbox ve bir adet combobox'umuz var. Listbox ve comboboxta item olarak bazı süreler var dakika saniye şeklinde örnek vermek gerekirse; Listbox'taki itemler 11:52, 13:43, 16:30 gibi Comboboxta ise 00:01, 00:02, 00:03. Benim yapmak istediğim comboboxtan seçtiğim süreyi listboxtaki tüm sürelerin üzerine eklemek. Mesela comboboxtan 00:01 seçtiğim zaman listboxtaki süreler sırasıyla 11:53 13:44 16:31 şeklinde değişsin. Herkese şimdiden teşekkürler yardımlarınızı bekliyorum.



    2 Ağustos 2020 Pazar 13:43

Tüm Yanıtlar

  • MVVM, WPF iki tane liste bir fonksiyon ile çözersiniz. Ama bence bu çok kötü bir ui tasarımı gibi duruyor. Belki eklenecek zamanı yazmak(seçmek yerine) daha mantıklı olabilir.
    2 Ağustos 2020 Pazar 21:16
  • MVVM, WPF iki tane liste bir fonksiyon ile çözersiniz. Ama bence bu çok kötü bir ui tasarımı gibi duruyor. Belki eklenecek zamanı yazmak(seçmek yerine) daha mantıklı olabilir.

    acaba mvvm, wpf ve fonksiyonu biraz daha açıklayıcı yazabilirmisiniz, sorudada belirttiğim gibi çok iyi bir c#kullanıcıısı değilim. Burada bahsettiğim süreler bir oyunda yaratık çıkma süreleri ve bazen bu süreler 1 sn 2sn gibi gecikmeler ile doğabiliyor.  O yüzden böyle bir koda ihtiyaç duydum.

    Combobox yerine text box ta kullanabiliriz. 

    3 Ağustos 2020 Pazartesi 04:12
  • Peki ama, yapamadiginiz kismi neresi ki? Yani asil soru ne?

    Ben bir "ornek" vereyim en iyisi :)

    List<string> times = new List<string> { "11:52", "13:43", "16:30" };
    
    void Main()
    {
    	Form f = new Form();
    	ListBox lb = new ListBox { DataSource = times, Top = 10, Left = 10, Width = 100 };
    	ComboBox seconds = new ComboBox { Top = 10, Left = 130, Width = 100, SelectedIndex = -1, DropDownStyle = ComboBoxStyle.DropDownList };
    	seconds.DataSource = Enumerable.Range(0, 21)
    		.Select(e => TimeSpan.FromSeconds(e).ToString(@"mm\:ss")).ToList();
    	seconds.SelectedIndexChanged += (sender, e) =>
    	{
    		if (((ComboBox)sender).SelectedIndex != -1 &&
    			TimeSpan.TryParseExact(
    			(string)((ComboBox)sender).SelectedValue,
    			@"mm\:ss", null, out TimeSpan secs))
    		{
    			lb.DataSource = null;
    			for (int i = 0; i < times.Count; i++)
    			{
    				times[i] = TimeSpan.ParseExact((string)times[i],
    					@"mm\:ss", null).Add(secs).ToString(@"mm\:ss");
    			}
    			lb.DataSource = times;
    		}
    	};
    	f.Controls.Add(lb);
    	f.Controls.Add(seconds);
    	f.Show();
    }
    




    Blog
    How to create a Minimal, Reproducible Example
    The way to Go.
    World's most advanced open source (object-) relational Database.
    Flutter (for mobile, for web & desktop.


    Not: Temelin geri zekali arkadasi Idris bu mesaja da atlayip ne kadar aptal oldugunu bir kez daha belgeleyebilir. Kendisinin tek marifeti beni takip edip, neden her soruya cevap verdigimi, yardim etmeye calistigimi sorgulamaktir. Bu beyinsiz zavalliya, aptal oldugunu hatirlatmayi unutmayiniz.

    3 Ağustos 2020 Pazartesi 10:50
    Yanıtlayıcı
  • Yapamadıgım nokta şu listbox'ta dakika ve saniye cinsinden süreler var, comboboxtada aynı şekilde. benim yapmak istediğim comboboxtan hangi süreyi seçersem listboxtakilerin üzerine eklesin.
    3 Ağustos 2020 Pazartesi 11:44
  • bunun basit bir kodu yok mu, listbox ve bir comboboxum var (listbox1 combobox1) bu kodları form1_load kısmına ekledim aşağıdaki hataları verdi

    Hata CS0136 sender' adlı bir yerel veya parametre, bu ad bir kapanış yerel kapsamında bir yereli veya parametreyi tanımlamak için kullanıldığından bu kapsamda ifade edilemiyor

    Uyarı CS8321 Main' yerel değişkeni tanımlı ancak hiç kullanılmadı

    Hata CS0136 e' adlı bir yerel veya parametre, bu ad bir kapanış yerel kapsamında bir yereli veya parametreyi tanımlamak için kullanıldığından bu kapsamda ifade edilemiyor

    Hata CS0136 e' adlı bir yerel veya parametre, bu ad bir kapanış yerel kapsamında bir yereli veya parametreyi tanımlamak için kullanıldığından bu kapsamda ifade edilemiyor

    bu hataları verdi

    3 Ağustos 2020 Pazartesi 11:47
  • team viewer versem bağlanım hem projeye baksanız hemde kodu deneseniz olur mu?
    3 Ağustos 2020 Pazartesi 12:01
  • Neden Form.Load kullandiniz ki? Ben Form.Load ile ilgili bir kod yazmadim.

    Afferdesiniz ama bu cok basit bir kod ve daha bunu calistiramiyorsaniz siz daha yolun basinda bile degilsiniz. Once C#'in temellerini ogreniniz.

    Teamviewer olmaz. Anydesk ID verebilirsiniz ama cok bekleyemem.



    Blog
    How to create a Minimal, Reproducible Example
    The way to Go.
    World's most advanced open source (object-) relational Database.
    Flutter (for mobile, for web & desktop.


    Not: Temelin geri zekali arkadasi Idris bu mesaja da atlayip ne kadar aptal oldugunu bir kez daha belgeleyebilir. Kendisinin tek marifeti beni takip edip, neden her soruya cevap verdigimi, yardim etmeye calistigimi sorgulamaktir. Bu beyinsiz zavalliya, aptal oldugunu hatirlatmayi unutmayiniz.

    3 Ağustos 2020 Pazartesi 12:30
    Yanıtlayıcı
  • 836 332 289
    3 Ağustos 2020 Pazartesi 12:33