问题描述
- C# 生成动态控件的问题
-
Button btn1 = new Button();
Form1.Controls.Add(btn1);
报错,要求对象引用、然后把Form1换成this 就行了,这是为什么啊
解决方案
Form1是类,this是对象实例。用类名只能调用静态方法,不能调用实例方法。
估计你是从VB6的开发中转过来的,VB中,为了简化代码,允许通过窗口类名来访问当前窗口实例,编译器会自动处理,不过C#没有这样的功能。
解决方案二:
WinForm中,我们想在窗体Form1中动态生成一个位于窗体中间的Button,可以这样做
Button dyBtn = new Button();
//设置文本
dyBtn.Text = "动态生成的Button";
//改变按钮的长和宽
dyBtn.Size = new Size(150,25);
//改变按钮的位置 这里是置于窗体中间
dyBtn.Location = n......
答案就在这里:C#动态生成控件
----------------------
时间: 2024-09-18 14:50:26