如何从Event函数更改动态创建的属性
本文关键字:动态 创建 属性 Event 函数 | 更新日期: 2023-09-27 18:17:48
我有一个FlowLayoutPanel被动态创建与我的代码,我想重新定位面板到我的屏幕的中心加载和调整大小,就像我能够做我的标签。
的问题是,因为flp不是在Form2.Designer.cs我得到一个错误,当我调用它相同的方式,我做了标签。
错误1 'SCA_Up_Tool。Form2'不包含'flp'的定义,也没有扩展方法'flp'接受类型为'SCA_Up_Tool '的第一个参数。可以找到Form2'(您是否缺少using指令或汇编引用?)
public partial class Form2 : Form
{
public Form2(List<IPAddress> addresses)
{
InitializeComponent();
FlowLayoutPanel flp = new FlowLayoutPanel();
flp.AutoScroll = true;
flp.FlowDirection = FlowDirection.TopDown;
flp.Location = new System.Drawing.Point(12, 67);
flp.AutoSize = false;
flp.Height = 600;
flp.Width = 1110;
flp.WrapContents = false;
}
}
private void Form2_Load(object sender, EventArgs e)
{
this.label1.Left = (this.ClientSize.Width - this.label1.Width) / 2;
this.flp.left = (this.ClientSize.Width - this.flp.width / 2);
}
private void Form2_SizeChanged(object sender, EventArgs e)
{
this.label1.Left = (this.ClientSize.Width - this.label1.Width) / 2;
this.flp.left = (this.ClientSize.Width - this.flp.width / 2);
}
把它移到外部作用域。如果需要访问方法外部的变量,那么它不应该是局部变量。提升本地到实例字段
public partial class Form2 : Form
{
private FlowLayoutPanel flp = new FlowLayoutPanel();
public Form2(List<IPAddress> addresses)
{
InitializeComponent();
flp.AutoScroll = true;
flp.FlowDirection = FlowDirection.TopDown;
flp.Location = new System.Drawing.Point(12, 67);
flp.AutoSize = false;
flp.Height = 600;
flp.Width = 1110;
flp.WrapContents = false;
}
}