2017-02-16 138 views
0

我試圖改變MouseEventArgs位置屬性,以便我可以使用Click事件是假的位置,但我得到這個錯誤:更改MouseEventArgs位置

「屬性或索引「System.Windows.Forms.MouseEventArgs.Y '不能被分配到 - 它是隻讀」

這裏是我的代碼:

private void ListView_MouseDown(object sender, MouseEventArgs e) 
{ 
    e.Location.Y = 10; 
    // e.Location = new Point(x,y) doesn't work too 
} 
+1

什麼不工作有關創建'Point'結構的新實例? –

+0

你不能這樣設置'e.Location'。 「只讀」意味着它聽起來像。 –

+0

同樣的錯誤:「屬性或索引器'System.Windows.Forms.MouseEventArgs.Location'不能被分配給 - 它是隻讀的」 – Mhd

回答

0

由於@LarsTech建議,我可以創造一個新的MouseEventArgs

private void ListView_MouseDown(object sender, MouseEventArgs e) 
{ 
    MouseEventArgs myEventArgs = new MouseEventArgs(e.Button, e.Clicks, e.X, e.Y - offset, e.Delta); 
    // Now I can use the new EventArgs instead 
} 
0

MouseEventArgs有2個屬性XY,他們都這樣定義:

public int X { get; } 

public int Y { get; } 

看到他們都沒有setter,所以他們是隻讀的。這就是爲什麼你不能設置它們。