各位好 小弟我在網路上頭查到的方法有兩個
一.
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