关于自定义控件大小自动变化的问题,困扰了我几年了,请高手帮忙!
seahi 2019-01-21 10:28:17 1、设计的自定义控件,放到界面后(主要是放在TableLayoutPanel中),当关闭设计界面后再打开Margin就会由原来的3变成4,然后再关掉再打开又会从4变成5,再打开再继续变大,而且并不是所有控件都如此,比如一个界面,同一个自定义控件放5个,可能只有其中一个是这样,其它4个都好,而且这个如果有问题会一直有问题,所以每次打开界面修改后都要把这个控件的Margin再改一遍,真的是不胜其烦,一直没有找到解决的方法。
2、在一个自定义控件中,放了一个TableLayoutPanel,有三列,第一列是Absolute,值100,第二、三列都是percent 50%,第一列放一个Label,第二、三列都是TextBox,Dock都是Fill,现在的问题是,将控件放到Form里的TableLayoutPanel,Label的width自动由100变成了117,并且有的控件会变,有的又不会变,百思不得其解。
跟踪代码发现控件添加进容器的时候就变了。比如:this.tableLayoutPanel1.Controls.Add(this.lblBaseItem1, 0, 4);我知道如果在这句之后再修改控件的Width值应该就正常了。但是由于控件被包裹在自定义控件里面了,不可能这么去做,而且每个控件都要这么做也不太科学。