上面要求做一个用户控件。要求如下:是一个长条形的格子控件,这个长条形被分割成很多个同样大小的小矩形,这里的小矩形我是用panel画的,长条形是个大panel.上面要求当鼠标放到其中一个小矩形上,并且按下了C键时,在这个小矩形上面画个小圆点,请教下大家,这里应该怎么弄啊?

解决方案 »

  1.   

    private void Form1_KeyDown(object sender, KeyEventArgs e)
    {
        if (isInPanel1)
            MessageBox.Show("Draw in Panel1");
        if (isInPanel2)
            MessageBox.Show("Draw in Panel2");
    }bool isInPanel1;
    bool isInPanel2;private void panel1_MouseEnter(object sender, EventArgs e)
    {
        isInPanel1 = true;
    }private void panel1_MouseLeave(object sender, EventArgs e)
    {
        isInPanel1 = false;
    }private void panel2_MouseEnter(object sender, EventArgs e)
    {
        isInPanel2 = true;
    }private void panel2_MouseLeave(object sender, EventArgs e)
    {
        isInPanel2 = false;
    }
    输入焦点要在Form上喔
      

  2.   

    额,再补充一下,因为我是多个格子,在keydown的时候又怎么获取当前鼠标相对于大panel的位置呀