C# Primzahltest

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace _02Primzahltest
{
    public partial class Form1 : Form
    {
        public int anzahlteiler(int zahl)
        {
            int teilerzahl = 2;
            //Teilerberechnung
            for(int i=2;i<=zahl/2;i++)
            {
                if (zahl % i == 0) teilerzahl++;
            }
            return teilerzahl;
        }
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            int anzteiler = anzahlteiler(int.Parse(tb_zahl.Text));
            Console.WriteLine("Anzahl Teiler: " + anzteiler.ToString());
            //Ausgabe
            if (anzteiler == 2) lbl_ergebnis.Text = "Es handelt sich um eine Primzahl!";
            else lbl_ergebnis.Text = "Es handelt sich um keine Primzahl!";
 
        }
 
        private void tb_zahl_KeyPress(object sender, KeyPressEventArgs e)
        {
            Console.WriteLine((int)e.KeyChar);
            if(char.IsDigit(e.KeyChar) ||char.IsControl(e.KeyChar))
            {
                Console.WriteLine("Ziffer");
            }else
            {
                e.Handled = true;
            }
 
        }
 
        private void tb_zahl_KeyUp(object sender, KeyEventArgs e)
        {
 
        }
 
        private void tb_zahl_TextChanged(object sender, EventArgs e)
        {
            try
            {
                int zahl = int.Parse(tb_zahl.Text);
            }
            catch(Exception ex)
            {
                tb_zahl.Text = "";
                Console.WriteLine("Fehler: " + ex.Message);
            }
 
            if (tb_zahl.TextLength > 0) button1.Enabled = true;
            else button1.Enabled = false;
        }
    }
}