日期:2014-05-18  浏览次数:21016 次

C#中PictureBox控件的Location属性为什么不能单独改变其Location.X或Location.Y的值而只能整体赋值?
如题,求解释!

------解决方案--------------------
http://topic.csdn.net/u/20100422/20/5a26bec7-7975-4a29-a385-8263fd81b74a.html

看6L大神的解释
------解决方案--------------------
http://msdn.microsoft.com/zh-cn/library/system.windows.forms.control.location.aspx

看这个的备注部分
------解决方案--------------------
你对 Location 整体赋值,是操作的 PictureBox 的属性,PictureBox 知道你修改了它,而你对 X 赋值,操作的是 Point 的属性,只有 Point 知道,而 Point 又不可能也无法去通知包含它的 PictureBox ,所以 PictureBox 对你的行为一无所知,另外由于 Point 是 struct ,你在调用 PictureBox.Location 时得到的是一个副本,更通知不了,所以编译时就否了。