Получение позиции мыши - PullRequest
       3

Получение позиции мыши

0 голосов
/ 11 января 2012

У меня есть следующий код, и я пытаюсь получить положение курсора / мыши, когда он находится над нарисованным массивом, и вывести его в лабораторию:

Label[ , ] _arr = new Label[4 , 4];

private void Form1_Load(object sender, EventArgs e) 
{  
    for(int i=0;i<4;i++)
    {    
        for(int j=0;j<4;j++)
           {
              _arr[i ,j] = new Label();        
              _arr[i ,j].Text = ""+i+","+j;  
              _arr[i ,j].Size = new Size(50,50);        
              _arr[i ,j].Location = new Point(j*50,i*50);         //you can set other property here like Border or else         
              _arr[i, j].BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle ;   
              this.Controls.Add(_arr[i ,j]);
              **label2.Text = _arr[i, j].(System.Windows.Forms.Control.MousePosition).ToString();**
           }  
    }
}  

но у меня проблемы со строкой в ​​виде двойных звездочек, кто-нибудь может мне помочь разрешить эту ошибку?

1 Ответ

0 голосов
/ 11 января 2012

Вы можете попробовать что-то вроде этого. Возможно, это не лучший способ сделать это, но он дает желаемый результат обновления метки, когда мышь перемещается между каждой ячейкой в ​​вашем «массиве» в форме:

private void Form1_Load(object sender, EventArgs e)
{
            for (int i = 0; i < 4; i++)
            {
                for (int j = 0; j < 4; j++)
                {
                    _arr[i, j] = new Label();
                    _arr[i, j].Text = "" + i + "," + j;
                    _arr[i, j].Size = new Size(50, 50);
                    _arr[i, j].Location = new Point(j * 50, i * 50);         //you can set other property here like Border or else         
                    _arr[i, j].BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
                    this.Controls.Add(_arr[i, j]);

                    _arr[i, j].MouseMove += new MouseEventHandler(Form1_MouseMove);
                }
            }
}

void Form1_MouseMove(object sender, MouseEventArgs e)
{
    label1.Text = ((Label)sender).Text;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...