Fonksiyon Çağırma

Shuttesh

Kilopat
Katılım
7 Mart 2015
Mesajlar
36
Daha fazla  
Cinsiyet
Erkek
Merhaba

C#:
private void harfyazdir(object sender, KeyPressEventArgs e)
        {
            if (char.IsDigit(e.KeyChar))
            {
                e.Handled = true;
            }
        }
Bu şekilde bir fonksiyon oluşturarak 'textBox' içine sayı girişini engellemeye çalışıyorum. Fakat textBox'ın keyPress olayında

C#:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            harfyazdir();
        }
bu şekilde çağırınca bu hatayı alıyorum

" Önem Derecesi Kod Açıklama Proje Dosya Çizgi Gizleme Durumu
Hata CS7036 'OgrenciDetay.harfyazdir(object, KeyPressEventArgs)' öğesinin gereken resmi 'sender' parametresine karşılık gelen hiçbir bağımsız değişken yok OgrenciBilgiSistemi C:\Users\Emin\source\repos\OgrenciBilgiSistemi\OgrenciBilgiSistemi\OgrenciDetay.cs 122 Etkin "

Bunu nasıl çözerim?
 
Key press'e değil de textchanged olayına şöyle bir şey yazabilirsin.

C#:
private void textBox1_TextChanged(object sender, EventArgs e)
{
    if (!System.Text.RegularExpressions.Regex.IsMatch(textBox1.Text, "^[a-zA-Z ]"))
    {
        MessageBox.Show("This textbox accepts only alphabetical characters");
        textBox1.Text.Remove(textBox1.Text.Length - 1);
    }
}
 
Key press'e değil de textchanged olayına şöyle bir şey yazabilirsin.

C#:
private void textBox1_TextChanged(object sender, EventArgs e)
{
    if (!System.Text.RegularExpressions.Regex.IsMatch(textBox1.Text, "^[a-zA-Z ]"))
    {
        MessageBox.Show("This textbox accepts only alphabetical characters");
        textBox1.Text.Remove(textBox1.Text.Length - 1);
    }
}

Buda olabilir de yine de yazdırıyor bastığında messageBox kullanıp uyarı mesajı vermesi hoşuma gitmedi. keypress ile mümkün değil mi?
 
Bu kodlar bir işe yaramadı ama bir arkadaşım kodu düzeltti şu şekilde kodlar çalışıyor

fonksiyonu bu şekilde oluşturduktan sonra
C#:
public void harfyazdir(KeyPressEventArgs e)
        {
            if (char.IsDigit(e.KeyChar))
            {
                e.Handled = true;
            }

textBox'un keyPress olayında şu şekilde çağırmak gerekiyor
C#:
harfyazdir(e);
 
Merhaba

C#:
private void harfyazdir(object sender, KeyPressEventArgs e)
        {
            if (char.IsDigit(e.KeyChar))
            {
                e.Handled = true;
            }
        }
Bu şekilde bir fonksiyon oluşturarak 'textBox' içine sayı girişini engellemeye çalışıyorum. Fakat textBox'ın keyPress olayında

C#:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            harfyazdir();
        }
bu şekilde çağırınca bu hatayı alıyorum

" Önem Derecesi Kod Açıklama Proje Dosya Çizgi Gizleme Durumu
Hata CS7036 'OgrenciDetay.harfyazdir(object, KeyPressEventArgs)' öğesinin gereken resmi 'sender' parametresine karşılık gelen hiçbir bağımsız değişken yok OgrenciBilgiSistemi C:\Users\Emin\source\repos\OgrenciBilgiSistemi\OgrenciBilgiSistemi\OgrenciDetay.cs 122 Etkin "

Bunu nasıl çözerim?
C# ve Java gibi programlama dillerinde bunlara fonksiyon değil metot denir. C ve PHP gibi dillerde fonksiyon ismi verilir. Hayırlı geceler. 😄
 
Kodu düzeltseydin daha çok yardımcı olurdun. Hayırlı geceler sizede 😄
Parametreleri girmemişsiniz. 2 adet parametre var. Metodu şu şekilde çağırın.
C#:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
     harfyazdir(sender,e); //parametreleri ekledim içine
}
398300
 
Parametreleri girmemişsiniz. 2 adet parametre var. Metodu şu şekilde çağırın.
C#:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
     harfyazdir(sender,e); //parametreleri ekledim içine
}
Eki Görüntüle 398300
C#:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            harfyazdir(e);
        }
Bu şekilde düzelttim teşekkürler.
 
C# ve Java gibi programlama dillerinde bunlara fonksiyon değil metot denir. C ve PHP gibi dillerde fonksiyon ismi verilir. Hayırlı geceler. 😄

İstersen şu kaynaklara bir bak. Hayırlı geceler :D

 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Yeni konular

Geri
Yukarı