当前位置:  开发笔记 > 编程语言 > 正文

如何将单击事件处理程序分配给绘制矩形的一部分?

如何解决《如何将单击事件处理程序分配给绘制矩形的一部分?》经验,为你挑选了1个好方法。

想象一下,我使用.NET图形类绘制一个矩形.

我怎么能分配一个事件,这样如果用户点击某个点或某个点范围,就会发生一些事情(点击事件处理程序)?

我正在通过C#和事件部分阅读CLR,我从我读过的内容中想到了这个场景.

这样的代码示例将真正提高我对C#/ .NET中事件的理解.

谢谢



1> aku..:

您可以指定Click事件处理程序来控制其表面将用于绘制矩形.这是一个小例子:当你点击矩形内部的表格时,当你点击外面时它将用红色边框绘制,它将用黑色边框绘制.

public partial class Form1 : Form
{
    private Rectangle rect;
    private Pen pen = Pens.Black;

    public Form1()
    {
        InitializeComponent();
        rect = new Rectangle(10, 10, Width - 30, Height - 60);
        Click += Form1_Click;
    }

    protected override void OnPaint(PaintEventArgs e) 
    {
        base.OnPaint(e);
        e.Graphics.DrawRectangle(pen, rect);
    }

    void Form1_Click(object sender, EventArgs e)
    {
        Point cursorPos = this.PointToClient(Cursor.Position);
        if (rect.Contains(cursorPos)) 
        {
            pen = Pens.Red;
        }
        else
        {
            pen = Pens.Black;
        }
        Invalidate();
    }
}

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有