• 20-02-2018, 23:18:41
    #1
    Dünde aynı ödev ile ilgili ufak bir şey sormuştum;

    Checkbox ları tek tek seçtiğimde istediğim gibi çalışıyor ancak bir tanesinden vaz geçtip checkbox ın tikini kaldırınca işlemi geri almıyor yani yazıya hem bold hem italic verdikten sonra ben bold u kaldırınca yazımın sadece italic olarak görüntülenmesini istiyorum bir türlü başaramadım. Naısl bir yol izlemem lazım?

    https://prnt.sc/ihi462

    https://prnt.sc/ihi4ig

    vakit ayırıp yardımcı olan herkese teşekkür ederim.
  • 20-02-2018, 23:26:06
    #2
    true için bir değer vermişsin aynı şekilde false içinde değer verirsen sorun kalmaz @Rua;
  • 20-02-2018, 23:27:45
    #3
    Kayaweb adlı üyeden alıntı: mesajı görüntüle
    true için bir değer vermişsin aynı şekilde false içinde değer verirsen sorun kalmaz @Rua;
    false ın içine ne yazmam çözüm olacak hocam? Bir iki şey denedim ancak hep sorunlu olarak çalıştı
  • 20-02-2018, 23:29:06
    #4
    Üyeliği durduruldu
    if(check1.checked)
    {
    italic yap
    }
    else // tik kaldırılmışsa
    {
    bold yap
    }
  • 20-02-2018, 23:31:36
    #5
    trmabi adlı üyeden alıntı: mesajı görüntüle
    if(check1.checked)
    {
    italic yap
    }
    else // tik kaldırılmışsa
    {
    bold yap
    }
    farz edelim ki bold italik ve üstü çizili yaptık sonra vaz geçip italiği kaldırdım yazımın bold ve üstü çizili olması lazım bu durumda else e yazacağım şey de değişkenlik göstermeyecek mi hocam?

    sizin belirttiğiniz şekilde de doğru sonuç a ulaşamayacağım.
  • 20-02-2018, 23:42:06
    #6
    o zaman bütün checkboxları kontrol ettirip yaptırman lazım her if else de
    • Kayaweb
    Kayaweb bunu beğendi.
    1 kişi bunu beğendi.
  • 21-02-2018, 00:04:24
    #7
    Üyeliği durduruldu
    Son yapılan işlemi bir yerde tut


            int SonislemSira = 0;
            void Sonislem()
            {
                switch (SonislemSira)
                {
                    case 0:
                        textBox1.Font = new Font(textBox1.Font, textBox1.Font.Style ^ FontStyle.Strikeout);
                        break;
                    case 1:
                        textBox1.Font = new Font(textBox1.Font, textBox1.Font.Style ^ FontStyle.Underline);
                        break;
                    case 2:
                        textBox1.Font = new Font(textBox1.Font, textBox1.Font.Style ^ FontStyle.Italic);
                        break;
                    case 3:
                        textBox1.Font = new Font(textBox1.Font, textBox1.Font.Style ^ FontStyle.Bold);
                        break;
                    default:
                        break;
                }
            }
            private void Checkstrikeout_CheckedChanged(object sender, EventArgs e)
            {
                if (Checkstrikeout.Checked) { textBox1.Font = new Font(textBox1.Font, textBox1.Font.Style ^ FontStyle.Strikeout); SonislemSira = 0; }
                else { Sonislem(); }
            }
            private void Checkunderline_CheckedChanged(object sender, EventArgs e)
            {
                if (Checkunderline.Checked) { textBox1.Font = new Font(textBox1.Font, textBox1.Font.Style ^ FontStyle.Underline); SonislemSira = 1; }
                else { Sonislem(); }
            }
            private void Checkitalic_CheckedChanged(object sender, EventArgs e)
            {
                if (Checkitalic.Checked) { textBox1.Font = new Font(textBox1.Font, textBox1.Font.Style ^ FontStyle.Italic); SonislemSira = 2; }
                else { Sonislem(); }
            }
            private void CheckBold_CheckedChanged(object sender, EventArgs e)
            {
                if (CheckBold.Checked) { textBox1.Font = new Font(textBox1.Font, textBox1.Font.Style ^ FontStyle.Bold); SonislemSira = 3; }
                else { Sonislem(); }
            }
  • 21-02-2018, 00:04:26
    #8
    Neron adlı üyeden alıntı: mesajı görüntüle
    o zaman bütün checkboxları kontrol ettirip yaptırman lazım her if else de
    arkadaşın dediğine katılıyorum farklı olarakta eğer checkbox kullanımı zorunlu değilse richtextbox ve font dialog olayına bakabilirsiniz
  • 21-02-2018, 00:09:23
    #9
    Neron adlı üyeden alıntı: mesajı görüntüle
    o zaman bütün checkboxları kontrol ettirip yaptırman lazım her if else de
    bu sefer bütün kombinasyonlar için teker teker oluşturmam lazım çok kalabalık bir kod yığını olacak daha kestirme bir yolu vardır bence.

    trmabi adlı üyeden alıntı: mesajı görüntüle
    Son yapılan işlemi bir yerde tut


            int SonislemSira = 0;
            void Sonislem()
            {
                switch (SonislemSira)
                {
                    case 0:
                        textBox1.Font = new Font(textBox1.Font, textBox1.Font.Style ^ FontStyle.Strikeout);
                        break;
                    case 1:
                        textBox1.Font = new Font(textBox1.Font, textBox1.Font.Style ^ FontStyle.Underline);
                        break;
                    case 2:
                        textBox1.Font = new Font(textBox1.Font, textBox1.Font.Style ^ FontStyle.Italic);
                        break;
                    case 3:
                        textBox1.Font = new Font(textBox1.Font, textBox1.Font.Style ^ FontStyle.Bold);
                        break;
                    default:
                        break;
                }
            }
            private void Checkstrikeout_CheckedChanged(object sender, EventArgs e)
            {
                if (Checkstrikeout.Checked) { textBox1.Font = new Font(textBox1.Font, textBox1.Font.Style ^ FontStyle.Strikeout); SonislemSira = 0; }
                else { Sonislem(); }
            }
            private void Checkunderline_CheckedChanged(object sender, EventArgs e)
            {
                if (Checkunderline.Checked) { textBox1.Font = new Font(textBox1.Font, textBox1.Font.Style ^ FontStyle.Underline); SonislemSira = 1; }
                else { Sonislem(); }
            }
            private void Checkitalic_CheckedChanged(object sender, EventArgs e)
            {
                if (Checkitalic.Checked) { textBox1.Font = new Font(textBox1.Font, textBox1.Font.Style ^ FontStyle.Italic); SonislemSira = 2; }
                else { Sonislem(); }
            }
            private void CheckBold_CheckedChanged(object sender, EventArgs e)
            {
                if (CheckBold.Checked) { textBox1.Font = new Font(textBox1.Font, textBox1.Font.Style ^ FontStyle.Bold); SonislemSira = 3; }
                else { Sonislem(); }
            }
    Teşekkürler deneyeceğim.

    Kayaweb adlı üyeden alıntı: mesajı görüntüle
    arkadaşın dediğine katılıyorum farklı olarakta eğer checkbox kullanımı zorunlu değilse richtextbox ve font dialog olayına bakabilirsiniz
    Maalesef checkbox kullanımı zorunlu