Methode wird beim Refreshen einer Form nicht aufgerufen



  • Hallo,
    ich habe eine Problem bei Refreshen einer System.Windows.Forms.
    Ich habe eine Methode foo(protected void foo(object sender, PaintEventArgs e). Die soll mit Hilfe von PaintEventArgs die Methode DrawString benutzen, um String anzuzeigen.
    Wenn ich auf einen Button drücke, soll dann die Methode Refresh und somit die Methode foo aufgerufen werden. Es sollen immer andere Strings angezeigt werden. Ich habe foo in dem Konstruktor von dieser Form folgendermaßen registriert:
    this.Paint+= new PaintEventHandler(foo);
    Wenn ich auf den Button drücke passiert leider nichts. Die Methode foo() wird bei dem Refresh nicht aufgerufen. Kann mir das jemand einen Tip geben?



  • using System;
    using System.Drawing;
    using System.Windows.Forms;
    
    namespace WindowsFormsApp1
    {
        public partial class Form1 : Form
        {
            private static Font font = new Font("Arial", 10);
            private Random random = new Random();
    
            protected void foo(object sender, PaintEventArgs e)
            {
                e.Graphics.DrawString(random.Next(0, 100).ToString(), font, Brushes.Blue, new Point(30, 60));
            }
    
            public Form1()
            {
                InitializeComponent();
                Paint += new PaintEventHandler(foo);
            }
    
            private void Button1_Click(object sender, EventArgs e)
            {
                Refresh();
            }
        }
    }
    


  • Vielen Dank! Bei mir klappt es nun.


Log in to reply