看板 C_Sharp 關於我們 聯絡資訊
動態產生一堆功能相近的 control, 通常會 "放在一起", 這時候可以把這些 control 放在一個 container 裡面, 例如說放在一個 Panel 內, 然後裡面(也就)不要放其他同 type 的 control. 當你需要對這些動態產生的 control 進行操作時, 就透過這樣一段程式碼: foreach (var pb in panel1.Controls.OfType<PictureBox>()) { ... } 就可以撈出在 panel1 內的 PictureBox. 如果需要再對這些 PictureBox 做判斷, 就: panel1.Controls.OfType<PictureBox>() .Where((pb) => pb.Name.StartWith("...")) 或是利用 Control.Tag 放些更複雜的 object 來描述該 control. 接下來呼叫 event func 的部分就如同上面大家所述, 將這些 PictureBox 的相關資料, 餵給 event handler 即可. -------------------------------------------------------------------------- 如果想要做的是 "真正模擬滑鼠 click", (但我想這不是你現在要的) 可以透過 Win32 API, 參考下面 URL 內的做法: 1. 透過 Cursor.Position 以及 mouse_event API http://www.pinvoke.net/default.aspx/user32.mouse_event 2. 透過 SendMessage API 傳送 Window Message http://go4answers.webhost4life.com/Example /simulate-mouse-click-certain-position-61774.aspx -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.23.102
stu87616:其實我找無頭緒的時候真的有想過XD 但是卡在滑鼠使用的 09/16 16:44
stu87616:座標是螢幕大小(0~65535) 而Form上的座標似乎是像素 09/16 16:45
stu87616:(0~一千多,弄半天我也不清楚這是要怎麼換算ˊ_>ˋ) 09/16 16:45
stu87616:最後當然還是放棄啦... 09/16 16:46