【发布时间】:2019-12-29 03:23:02
【问题描述】:
我收到此错误。我尝试创建控件实例但没有成功。有人可以帮帮我吗?
错误 CS0120 非静态字段、方法或属性“Control.Controls”需要对象引用
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
static void Main(string[] args)
{
foreach (var button in Form1.Controls.OfType<Button>())
{
}
}
}
【问题讨论】:
-
你到底想做什么?
-
您将控制台应用程序中使用的代码与 WinForms 中使用的代码混合在一起。可以在
Program.cs中找到static void Main(),很少用于UI相关的操作。您应该在这里描述您实际想要完成的工作。如果您尝试获取/设置作为当前 Form 子级的所有 Button 的属性,OnLoad方法覆盖(或类方法委托)是更好的选择。 -
嗯,我正在尝试让按钮的文本在每次窗口窗体应用程序发生变化时自动调整大小。
-
使按钮的文本自动调整大小是什么意思?更改 Font.Size(使用更大/更小的字体大小)? 窗口形式有什么变化?何时调整表单大小?您是否尝试过锚定按钮?它不会更改字体大小,但会调整按钮的大小,无需进一步编码。或者将按钮添加到 TableLayoutPanel 的单元格中,设置按钮的 Dock 属性(例如,
[Button].Dock = Fill)。 -
我的意思是当用户单击顶部的矩形按钮最大化或恢复窗口大小时,我真的希望框中的文本根据窗口改变大小。单独使用 TableLayoutPanel 只会更改按钮,但不会更改里面的文本...
标签: c# visual-studio winforms