Jump to content

mertugruul

Banned
  • Posts

    27
  • Joined

  • Last visited

Posts posted by mertugruul

  1.  

    Tamam a basarsan grilen değeri döndürür. İptale basarsan değeri sıfırlayıp döndürür. 

     

    Doğal olarak gelen değer eğer 0 dan büyükse tamam a basılmıştır değilsede iptale basılmıştır.

     

    Eyvallah anladım şimdi.

  2. Tamam'a veya İptal'e basılmanın Lenght özelliğinin 0'dan büyük olması ile ne alakası var? Örneğin bir kullanıcı adı giriyorum InputBox'a daha sonra iptal'e basıyorum. Mantıksız değilmidir? Anlamadım hala.

  3. Teşekkür ederim. Buna benzer bir koda rastlamıştım yabancı sitenin birisinde bilerek projeye eklemedim daha anlaşılırı lazımdı. Anlamadıktan sonra koysam bi yararı olmaz bana çok uzun. Verdiğim linkte InputBoxResult kullanılmış. Biz buna nasıl erişebiliriz bir bilginiz varmı?

    Tekrar teşekkür ederim. 

  4. Merhaba.

     

    InputBox'da OK veya Cancel tıklandığında bu durumu kontrol ettirmek istiyorum DialogResult'taki gibi. Fakat araştırmama rağmen tatmin edici bilgiler bulamadım. InputBoxResult classını kullanamıyorum bir türlü. Nasıl ulaşabilirim buna ya da nasıl kontrol ettirebilirim InputBox'ı aynı MessageBox'ta ki gibi?

     

    http://nuhazginoglu.blogcu.com/c-inputbox-kullanimi/4528678

     

    Şurada InputBoxResult kullanılmış ama nasıl ulaşacağım buna?

     

    Referanslarım flan ekli InputBox için onlarda sıkıntı yok.

  5. tamam Form1 Load eventindeki kodları silin, sadece ListView.Columns.Add(); kodları kalsın. yani sadece sütunlar oluşturulsun. Gerisinde mantık aynı. Textboxa veri girip ekleme yapabilirsiniz.

     

    Şimdi oldu teşekkür ederim yardımlarınız için.

  6.  

    sanırım şu örnek işinizi görür:

    https://yadi.sk/d/Qb2AjEnognVMX

     

    Öncelikle eline sağlık hocam. Amma ve lakin Form1_Load'a item girmişssin. Öle de bir sıkıntı yok  :D Asıl sıkıntı diyelim ki listView bomboş. O zaman nasıl listView'e item ekleyeceğiz ve kontrol ettirecez?

  7. if (!listView1.Items.ContainsKey("aranacak olan uniq anahtar"))
    {
    
    //ekleme komutları
    
    }

     

    Yapamadım. Denemiştim daha önceden ContainsKey ile de.  Normal kullandığımda sıkıntı yok Contains ve ContainsKey metodlarını. Ama listView içerisinde itemlerin hepsine baktırıyorum foreach ile o zaman sıkıntı oluyor.

    Ben size şöyle göstereyim kodları.

            private void button1_Click(object sender, EventArgs e)
            {
                string no = Convert.ToString(textBox1.Text);
    
                foreach (ListViewItem x in listView1.Items)
                {
                    if(x.Text.Contains(no) == true)
                    {
                        MessageBox.Show("Aynı no var.");
                        break;
                    }
                    else
                    {
                        listView1.Items.Add(no);
                        break;
                    }
                }
            }
    

    Bunda acaba listView ilk başta boş olduğu için mi ekleme yapmıyor. Zaten koduma baktığımda mantıkende hata yapıyorum. Mesela attım örneğin, listView'de 5 tane item var. 3. sıradaki itemim ile aynı benim textBox'tan yazdığım no mesela. Ama foreach döngüsü 1.sıraya bakıyor aynı itemi görmediği için 1 kere ekliyor ve döngüden tamamen çıkıyor. Ama 3.sırada aynı item vardı. Burada sanırım mantık hatası yapıyorum. Mantığını anlayamadım bir türlü.

     

    Birde if parantezinin içine ! operatörünü koymuşunuz. Böyle kullanımını gördüm ama pek kullanmadım. 

     

    ContainsKey metodu geriye bool türden değer döndürdüğü için false yerine mi yazdınız bu operatörü?

  8.  
    Merhaba.
     
    listView'e no adında bir colon oluşturdum. Kullanıcı textBox'tan 1. eklemesini yapıyor. Daha sonra 2. eklemeye ihtiyaç duyuyor. Ekleme yaparken listView'de kayıtlı olan bir itemin Text'i ile aynı ekliyor. Bunu kontrol ettirmek istiyorum ama nasıl? Bir çok örneklere baktım. Baktıklarım ise sadece arama yapma idi.
     
    Bir örnek verebilirmisiniz?
     
  9. Merhaba.
     
    C#'ta ki ilk projemi sizler paylaşmak istedim.
     
    Bu projeyi benzer bir proje başka bir yerde gezinirken gözüme çarpmıştı. "Yapabilirmiyim dedim bende buna benzer birşey" dedim. Araba yerine bisiklet koydum ve oyunun tarzını biraz değiştirdim. Aslında oyun yapmak değildi amacım nesneleri daha iyi kavrayabilmek ve algoritmik düşüncemi geliştirmek idi. Çok büyük katkısıda oldu bu projenin. Yardımcı olan arkadaşlara teşekkür ederim. Amatörce oldu biraz ama daha yolun başındayım. Olumlu ya da olumsuz eleştirilerinizi bekliyorum.


    Oyunun Adı:

    Ters Yolan Giren Bisikletlerden Kaçış


    Oyunun Konusu:

    Ters yola girmiş olan bisikletlerden kaçmaya çalışan bir köpeğin macerası diyelim.  :D


    Oyundan  Görüntüler:

    http://prntscr.com/6yah56 


    http://prntscr.com/6yahac


    Proje Dosyası:

    https://yadi.sk/d/VKHoVoWwgvhKz

  10. Rectangle.IntersectsWith() medotu ile sorunsuz kullanabilirsin. Bir zaman öyle kullanmıştım. (MSDN Sayfası)

     

    Kontrollün bulunduğu rectangle üzerinden işlem yapıyor. tüm kontrollerde kullanılabilir.

     

    kullanım şekli:

    if (pbImage7.Bounds.IntersectsWith(pbImage6.Bounds))
    {
        // cakisma kodu gelecek.
    }
    

    Hala çalışıyosa eğer bu şekilde baya tutarlı oluyordu

     

    İlaç gibi geldi. Sağolasın.

  11. Merhaba.

     

    2 tane pictureBox'ın var olduğunu düşünelim. pictureBox7 yukarıdan gelecek ve aşağıdaki pictureBox'a temas edince istediğim kodları çalıştırmak istiyorum.

    Aşağıdaki şu kod oluyor pic7 pic6'in üstüne geldiğinde ama bazen de 2 pictureBox birbirine değmediği halde yine aşağıdaki kod çalışıyor.

     if ((pictureBox7.Location.X + pictureBox7.Width >= pictureBox6.Location.X) && (pictureBox7.Location.Y + pictureBox7.Height >= pictureBox6.Location.Y))
     {
                        
    
     }

    Başka bir yol varmıdır bundan başka?

  12. Hocam aynı projeyi geliştiriyorum bende yapabilirmiyim diye denemek istedim :D  iyi gidiyor şuan. Araba yerine bisiklet kullanıcam. Yapınca atıcam buraya.

  13. şimdi ilk if konum kontrolü yapıyor. yani zaten -68 den küçük ise hereket etmesine gerek yok.

    içteki if ise 68'den küçük olup olmadığına bakıyor azaldıktan sonra. eğer 68 den küçük ise yani 15 15 azaltırken -50-15 = -75 gibi bir duruma geldiyse yeniden konumlandırma yapıyor.

    15 15 azaltınca -68 e gelemediğinden dolayı -68 den küçük yada eşitmi kontrolü daha mantıklı olur.

    iki tane if sizin kodunuzda vardı. sadece onu düzenledim..

     

    edit: aslında ilk if deyimi içinde > -68 diyebilirsiniz. sonuçta 15 azaldığında denk gelmesine gerek yok  :)

     

    -75'in -68'den küçük olduğu sonradan aklıma geldi. Düşünemedim onu. Teşekkür ederim yardımınız için.

  14. if (pictureBox2.Location.Y != -68)
                {
                    pictureBox2.Location = new Point(pictureBox2.Location.X, pictureBox2.Location.Y - 15);
                    if (pictureBox2.Location.Y <= -68)
                    {
                        pictureBox2.Location = new Point(158, 305);
                        
                    }
                }
    

    şeklinde denediğinde problem kalmaz sanırımş.

     

     

    Peki <= -68'deki amaç nedir?

    1. if deyimi -68 deyilmi diye bakıcak ve -15'er arttırıyor pictureBox'ı. Peki 2.if deyimini pek anlayamadım mantıken olarak. -68 ve -68'den küçük ise diyoruz ama neden?.  Açıklayabilirmisin sade ve anlaşılır şekilde iki if deyimininde çalışma mantığını?

  15. Konuyu açtıktan hemen sonra timer aklıma geldi. Yazmayı unuttum. Teşekkür ederim yine de.

    http://prntscr.com/6v4wnp

     

    Ama şöyle bir sorunum var.  Resimde de görüldüğü gibi pictureBox2'yi ben  Location.Y koordinatı -68 olana kadar ilerleticem. ilerliyor daha sonra ise -68 olduğumu tekrar eksi konumuna gelip aynı yerden devam etmesini istiyorum. Lakin gidip geri gelmiyor  :D

            private void Form1_Load(object sender, EventArgs e)
            {
                timer1.Interval = 100;
                timer1.Start();
            }
            private void timer1_Tick(object sender, EventArgs e)
            {
                if (pictureBox2.Location.Y != -68)
                {
                    pictureBox2.Location = new Point(pictureBox2.Location.X, pictureBox2.Location.Y - 15);
                    if (pictureBox2.Location.Y == -68)
                    {
                        pictureBox2.Location = new Point(158, 305);
                        
                    }
                }
            }
    
    

    Edit: Sorun çözüldü. -15 yazarak -68 konumuna ulaşmadığı için -1 yapmak zorunda kaldım. Teşekkürler.

  16. PicturenBox2'nin Location.Y koordinatını -75 olana kadar 1'er 1'er arttıracağım. Ama arttırıkende bu artışı görmek istiyorum formda nasıl yapabilirim. Yani, Form açıkkken pictureBox'ın hareket ettiğini görücem.

     

    Ekran Görüntüsü:

     

    http://prntscr.com/6v4wnp

            private void Form1_Activated(object sender, EventArgs e)
            {
                for (; ; )
                {
                    if (pictureBox2.Location.Y != -75)
                        pictureBox2.Location = new Point(pictureBox2.Location.X, pictureBox2.Location.Y - 1);
                    else
                        break;
                        
                }
            }
    

    Kodlarım böle. İlk sonsuz döngüye soktum. Form'umun Location.Y koordinatının en sonu -75 olduğu için manuel olarak -75 yazmak zorunda kaldım. Eğer bunun manuel değilde otomatik olarak bir yolu varsa sölerseniz iyi olur. Daha sonra pictureBox'ın Location.Y özelliğini yukarıya doğru birer birer arttırdım. -75'e geldiğinde ise döngüden çıkarttım. Ama ben bu pictureBox2'yi hareket ederken görmek istiyorum form üzerinde.

  17. Yardımlarınız için teşekkür ederim. Kodlarınızdan yola çıkarak kendime göre düzenledim kodları. İşe yarayan olur belki ileride öğrenim için.

                //Sağ tuş için + , Sol tuş için - değer veriyoruz Location özelliğinin X koordinatına.
     

                if (e.KeyCode == Keys.Right)
                    pictureBox1.Location = new Point(pictureBox1.Location.X + 1, pictureBox1.Location.Y);
                else if (e.KeyCode == Keys.Left)
                    pictureBox1.Location = new Point(pictureBox1.Location.X - 1, pictureBox1.Location.Y);
     
                //Aşağı tuş için + , Yukarı tuş için - değer veriyoruz Location özelliğinin Y koordinatına.
                else if (e.KeyCode == Keys.Down)
                    pictureBox1.Location = new Point(pictureBox1.Location.X, pictureBox1.Location.Y + 1);
     
                else if (e.KeyCode == Keys.Up)
                    pictureBox1.Location = new Point(pictureBox1.Location.X, pictureBox1.Location.Y - 1);
  18. Merhaba.

     

    Kronometre yapmak istiyorum. 2 tane textBox'ım var. textBox1'den saat alınacak 2'den ise dk alınacak.

    textBox'ların altına 3 tane label koydum. Saat, Dk ve saniye adında.  Saniye 60'dan geriye saydırıyorum timer ile dk bir azalıyor daha sonra saniye adlı label yine 60'dan geriye gidiyor ta ki 0 olana kadar bu kez de Dakika adlı label olduğu yerden devam etmiyor. Yani saniye sürekli 0 olduğunda 60 olup devam ediyor ama dakika 1 kere azaldıktan sonra geriye gitmiyor.

     

    Ekran görüntüsü: http://prntscr.com/6td72o

            int saniye = 60;
    
            private void Başlat_Click(object sender, EventArgs e)
            {
                timer1.Interval = 100;
                timer1.Start();
            }
    
            private void timer1_Tick(object sender, EventArgs e)
            {
                int saat = Convert.ToInt32(textBox1.Text);
                int dk = Convert.ToInt32(textBox2.Text);
    
                if(saniye > -1)
                {
                    label4.Text = saniye--.ToString();
                    if (saniye == 0)
                    {
                        saniye = 60;
                        label4.Text = saniye.ToString();
                        int dkSonuc = dk - 1;
                        label3.Text = dkSonuc.ToString();
                    }
                }
            }
    
            private void Durdur_Click(object sender, EventArgs e)
            {
                timer1.Stop();  
            }
  19. Merhaba.
     
    http://prntscr.com/6sxau4
     
    Resimde de görüldüğü gibi Form'da ki pictureBox'ı yukarı, aşağı, sol ve sağa doğru hareket ettirmek istiyorum. Location özelliğini kullanarak pictureBox'ı sağ ve sola hareket ettirebiliyorum onda sıkıntı yok. Ama Location özelliği ile yukarı ve aşağı olmuyor. Araştırıyorum Left ve Right metodlarını kullanamadım bir türlü.
     
    Location'lu olan kodlarım bunlar bunlarda herhangi bir sıkıntı yok.

     

     

            private void Form1_KeyDown(object sender, KeyEventArgs e)
            {
                int xKonumu = pictureBox1.Location.X;
                int yKonumu = pictureBox1.Location.Y;
     
                if (e.KeyCode == Keys.Right)
                    pictureBox1.Location = new Point(xKonumu + 1, yKonumu);
                else if (e.KeyCode == Keys.Left)
                    pictureBox1.Location = new Point(xKonumu - 1, yKonumu);
            }
     
    if(e.KeyCode == Keys.Right)
        pictureBox1.Right +=1;
     
    yapıyorum olmuyor. Yanlışmı kullanıyorum acaba? sade ve anlaşılır şekilde anlatırsanız sevinirim.
  20. Hocam anlamakta ısrar çektiğim kısım şu. Private neden yazıyoruz?

    Private yerine public int sayi; yazsamda yine aynı oluyor. Değişen bir şey yok. Private olan değişkeni ben zaten public ile erişiyorum özelliğini kontrol ettirerek diğer class'tan. Burada ki amaç ne yani?

  21. Merhaba.

     

    get ve set sözcüklerini bir türlü anlayamadım. Ne için kullanılır, nerelerde kullanılır. Detaylı bir araştırmada yaptım. get sözcüğü değeri geriye döndürüyor. Tamam onda sıkıntı yok peki set?

     

    Anlaşılır bir şekilde nerelerde kullanıldığını, ne için kullanıldığını anlatırsanız sevinirim.

×
×
  • Create New...