C# Can';不能更改Windows窗体中的窗体属性

C# Can';不能更改Windows窗体中的窗体属性,c#,windows,winforms,windows-forms-designer,C#,Windows,Winforms,Windows Forms Designer,我以前用C#编程,后来改用Java,现在我不得不同时使用这两种语言。返回C#有点粗糙,我在从代码中更改表单的属性时遇到了问题。这里的目标是使窗口无法调整大小,根据,这包括我使用以下代码:form1.FormBorderStyle=FormBorderStyle.FixedSingle 然而,当我尝试这样做时,我得到了“非静态字段、方法或属性'Form.FormBorderStyle'需要对象引用”。以下是我迄今为止的代码: using System; using System.Collectio

我以前用C#编程,后来改用Java,现在我不得不同时使用这两种语言。返回C#有点粗糙,我在从代码中更改表单的属性时遇到了问题。这里的目标是使窗口无法调整大小,根据,这包括我使用以下代码:
form1.FormBorderStyle=FormBorderStyle.FixedSingle

然而,当我尝试这样做时,我得到了“非静态字段、方法或属性'Form.FormBorderStyle'需要对象引用”。以下是我迄今为止的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Audio_File_Management {
    public partial class form1 : Form {
        public form1() {
            InitializeComponent();
        }
        public static void Main() {
            form1.FormBorderStyle = FormBorderStyle.FixedSingle;
        }
    }
}

如何更改表单的属性?

您的代码不正确:

namespace Audio_File_Management {
public partial class Form1 : Form {
public static Form1 objForm1;
    public Form1() {
        InitializeComponent();
    }

    public static Form1 GetForm()
    {
        if( (objForm1 == null) || objForm1.IsDisposed)
        {
           objForm1 = new Form1();
        }
        return objForm1;
    }

 }
}

public class Program
{
   public static void Main() {
        Form1.GetForm().FormBorderStyle = FormBorderStyle.FixedDialog;
    }
}

放置
this.FormBorderStyle=FormBorderStyle.FixedSingle初始化组件()下的code>行。摆脱主块。您也可以从design editor属性窗口执行此操作。在这里执行的是
public static void Main()
?您可以将
MaximumSize
MinimumSize
设置为相同的设计值,而不是
FormBorderStyle.FixedSingle
,保留标准边框(如果可取)。无论如何,在构造函数中设置这些属性:
public form1(){(此处)}
您的类名和对象名不能相同如果您的类名是form1,那么您应该创建form1类的对象,然后在代码中使用
public static void Main()
在表单类中做什么?移除它。为什么要返回同一类的新实例并设置新实例的属性。把它也取下来。剩下的,
public Form1(){InitializeComponent();}
就是所需的一切。在那里设置属性。仅此而已。@Jimi谢谢您,但GetForm()方法是仅在没有可用于该表单类的实例时创建新实例。@LarsTech。我已经更新了我的代码。抱歉给您带来不便。请重新阅读我的评论。您只需要在表单的构造函数中设置该属性。顺便说一句,这不是VB.Net,没有默认的表单实例:
公共静态表单1
?你在哪里见过这个<代码>公共课程
,在这里?这到底意味着什么?当然没有默认的表单实例,但是是的,有可能表单已经被释放,有人想要重复使用同一个类,当有人想要一次又一次地使用同一个实例时,为什么他/她不使用我写的方法?程序类存在于单独的文件中;这只是为了演示。