C# Drawing on Panels

前端 未结 2 916
南旧
南旧 2020-12-02 02:13

I\'m drawing up a day schedule and representing timeslots with panels, and appointments are yet more panels on top.

The user is able to scroll up and down so that th

2条回答
  •  星月不相逢
    2020-12-02 02:36

    For example we have this drawing event which is drawing a text from textBox1:

    private void panel1_draw(object sender, PaintEventArgs e)
        {
            var g = e.Graphics;
            Pen myp = new Pen(System.Drawing.Color.Red, 4);
            Font fy = new Font("Helvetica", 10, FontStyle.Bold);
            Brush br = new SolidBrush(System.Drawing.Color.Red);
            g.DrawString(textBox1.Text, fy, br, 0,0);
        }
    

    In order to draw on your panel1, you need to write this code in your button event handler:

    private void button1_Click(object sender, EventArgs e)
        {
            panel1.Paint+=new PaintEventHandler(panel1_draw);
            panel1.Refresh();
        }
    

    The first line draws the text in your panel and if you want the text to appear you must refresh the panel. The main thing is in using the panel1.Pain += new PaintEventHandler(your void name); and panel1.Refresh();

提交回复
热议问题