看板 C_Sharp 關於我們 聯絡資訊
各位好 小弟我在網路上頭查到的方法有兩個 一. public partial class Form1 : Form { public Form1() { InitializeComponent(); } [DllImport("Gdi32.dll")] public static extern int GetPixel(System.IntPtr hdc,int nXPos, int nYPos); private void Form1_MouseDown(object sender, MouseEventArgs e) { Graphics g = CreateGraphics(); System.IntPtr hDC = g.GetHdc(); int c = GetPixel(hDC, e.X, e.Y); } } 而且方法中提到需using System.Runtime.InteropServices; 二. public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_MouseDown(object sender, MouseEventArgs e) { int a = 0; a = this.GetChildAtPoint(new Point(e.X,e.Y)).ForeColor.ToArgb(); } } 這兩個方法小弟我是完全不了解...第一次使用這個東西 第一個方法雖然可行 但是卻只能夠抓沒有被元件覆蓋到的座標 就是說 有元件的地方點了沒有用 第二個方法則是完全沒用 只要執行就會跑出"並未將物件參考設定為物件的執行個體" 究竟第二個方法是哪裡出問題呢 new一個Control來執行也不行(這方式感覺有點蠢...) 第一個方法雖然可以使用 但我真正需要的是"某個座標的顏色" 請知道方法的大大們指導一下了 可以的話 也請順便解釋一下第一個方法到底是在寫什麼...完全看不懂 先謝過了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.167.175.35