我目前正在試圖讓我的小東西,我做的顯示屏幕座標..但我有問題刷新文本到新的X,Y值。自動更新文字標籤?
int x = Cursor.Position.X;
int y = Cursor.Position.Y;
textBox1.Text = "X: " + x + " Y: " + y + "";
textBox1.Refresh();
這就是我的,但我不明白爲什麼它不會令人耳目一新?如果有人能向我解釋這將是很好的。
我目前正在試圖讓我的小東西,我做的顯示屏幕座標..但我有問題刷新文本到新的X,Y值。自動更新文字標籤?
int x = Cursor.Position.X;
int y = Cursor.Position.Y;
textBox1.Text = "X: " + x + " Y: " + y + "";
textBox1.Refresh();
這就是我的,但我不明白爲什麼它不會令人耳目一新?如果有人能向我解釋這將是很好的。
正如Patrick Hofman告訴你的,你必須處理鼠標移動事件。試試這個代碼:
public Form1()
{
InitializeComponent();
this.MouseMove += new MouseEventHandler(Form1_MouseMove);
}
void Form1_MouseMove(object sender, MouseEventArgs e)
{
int x = Cursor.Position.X;
int y = Cursor.Position.Y;
textBox1.Text = "X: " + x + " Y: " + y + "";
}
該文本並沒有神奇地自我更新。
您必須處理適當的事件,例如您的表單上的MouseMove
。
因此,在構造函數中掛鉤事件;
public Form1()
{
InitializeComponent(); // this is usually already there
this.MouseMove += Form1_MouseMove;
}
然後調用你的代碼的事件處理中:
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
int x = Cursor.Position.X;
int y = Cursor.Position.Y;
textBox1.Text = "X: " + x + " Y: " + y + "";
}
注意,當有很多觸發的事件,這可能很慢。根據您的需要,您可以構建一些定時器機制以便每隔一段時間更新一次。
你的意思是,當你移動鼠標?你是否處理鼠標移動的事件處理程序?這個代碼在哪裏? –
是的,因爲當你移動你的鼠標 –
那麼,你處理適當的事件? –