C#使用Controls.Add()方法添加控件,控件坐标与设定不符,求高手解答,在线等,非常感谢!代码如下: 5

ctrl.Location=newSystem.Drawing.Point(100,143);Console.WriteLine("添加前x坐标:"+ctrl.Locat... ctrl.Location = new System.Drawing.Point(100, 143);
Console.WriteLine("添加前x坐标:" + ctrl.Location.X);
Console.WriteLine("添加前y坐标:" + ctrl.Location.Y);
container.Controls.Add(ctrl);//将新建控件添加到窗体,并显示
Console.WriteLine("添加后x坐标:" + ctrl.Location.X);
Console.WriteLine("添加后y坐标:" + ctrl.Location.Y);

输出:
添加前x坐标:100
添加前y坐标:143
添加后x坐标:117
添加后y坐标:155
展开
 我来答
应桖杉0Hx9ef
2020-03-23
知道答主
回答量:2
采纳率:0%
帮助的人:1256
展开全部
昨天刚遇到这个问题。你是不是用到UserControl自定义控件了。我使用的自定义控件,出现了你说的情况:解决方法是,删除 .resx 、designer.cs 这2个文件。修改public partial class FormAttributeSetting 为 public class FormAttributeSetting。删除partial 修饰符。这样的话,就不会加载资源了,就不会出现如上问题。

或者重新设计你的UseControl控件,出现如上问题很大程度上是加载资源导致的。
草薙在
2012-11-10 · TA获得超过4795个赞
知道大有可为答主
回答量:6187
采纳率:50%
帮助的人:6251万
展开全部
如果你的窗体有padding 或者用了layout引擎,都会修改坐标的
更多追问追答
追问
谢谢 但是去掉所有layout依然存在上述问题
追答
那就是窗体自己会layout控件,这个你管不着的,除非你自己做一个Control放到外面
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
果子酪
2013-02-26
知道答主
回答量:43
采纳率:0%
帮助的人:19.2万
展开全部
我也遇到这个问题。原来的 ctrl.Location是根据窗体的位置来定位,但是加了Controls.Add后,就根据你现在写的container的大小位置来定位了。好坑爹啊!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百百mp3
2012-11-10 · TA获得超过855个赞
知道小有建树答主
回答量:901
采纳率:90%
帮助的人:543万
展开全部
因为窗体边框的宽度由主题确定的,所以将控件添加到窗体上,必然有一定的偏差。也有可能是容器的设置把控件位置更改了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d4bdbce
2013-05-21
知道答主
回答量:1
采纳率:0%
帮助的人:1483
展开全部
将container.Controls.Add(ctrl);放在
ctrl.Location = new System.Drawing.Point(100, 143);之前
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式