Trae IDE新建C#工程

目录

[1 结论](#1 结论)

[2 项目结构](#2 项目结构)

[3 项目代码](#3 项目代码)


1 结论

新建C#工程来说,Trae的Chat比DeepSeek的Coder好用。

2 项目结构

MyWinFormsApp/

├── Program.cs

├── Form1.cs

├── Form1.Designer.cs

├── MyResources/

│ └── MyResources.resx

└── MyWinFormsApp.csproj

3 项目代码

根据AI提示反复迭代修改这几个文件,可以实现C#窗口程序的生成。

cs 复制代码
//Form1.cs

using System;
using System.Windows.Forms;

namespace MyWinFormsApp
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // 使用 .resx 文件中的资源
            this.Text = MyWinFormsApp.MyResources.FormTitle;

            label1.Text = MyWinFormsApp.MyResources.WelcomeMessage;
        }
    }
}
cs 复制代码
//Form1.Designer.cs
namespace MyWinFormsApp
{
    partial class Form1
    {
        private System.ComponentModel.IContainer components = null;
        private System.Windows.Forms.Label label1;

        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        private void InitializeComponent()
        {
            this.label1 = new System.Windows.Forms.Label();
            this.SuspendLayout();
            // 
            // label1
            // 
            this.label1.AutoSize = true;
            this.label1.Location = new System.Drawing.Point(100, 100);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(100, 20);
            this.label1.TabIndex = 0;
            // 
            // Form1
            // 
            this.ClientSize = new System.Drawing.Size(300, 200);
            this.Controls.Add(this.label1);
            this.Name = "Form1";
            this.Load += new System.EventHandler(this.Form1_Load);
            this.ResumeLayout(false);
            this.PerformLayout();
        }
    }
}
cs 复制代码
//MyWinFormsApp.csproj
<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <OutputType>WinExe</OutputType>
        <TargetFramework>net9.0-windows</TargetFramework>
        <Nullable>enable</Nullable>
        <UseWindowsForms>true</UseWindowsForms>
        <EnableDefaultEmbeddedResourceItems>false</EnableDefaultEmbeddedResourceItems>
        <EnableDefaultCompileItems>false</EnableDefaultCompileItems>
    </PropertyGroup>

    <ItemGroup>
        <EmbeddedResource Include="MyResources\MyResources.resx">
            <Generator>PublicResXFileCodeGenerator</Generator>
            <LastGenOutput>MyResources.Designer.cs</LastGenOutput>
        </EmbeddedResource>
        <Compile Include="Form1.cs" />
        <Compile Include="Form1.Designer.cs" />
        <Compile Include="Program.cs" />
        <Compile Include="MyResources\MyResources.Designer.cs">
            <DependentUpon>MyResources.resx</DependentUpon>
            <AutoGen>True</AutoGen>
            <DesignTime>True</DesignTime>
        </Compile>
    </ItemGroup>
</Project>
cs 复制代码
//Program.cs
using System;
using System.Windows.Forms;

namespace MyWinFormsApp
{
    static class Program
    {
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}
cs 复制代码
//MyResources/MyResources.Designer.cs
namespace MyWinFormsApp {
    using System;
    
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
    public class MyResources {
        
        private static global::System.Resources.ResourceManager resourceMan;
        
        private static global::System.Globalization.CultureInfo resourceCulture;
        
        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
        internal MyResources() {
        }
        
        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
        public static global::System.Resources.ResourceManager ResourceManager {
            get {
                if (object.ReferenceEquals(resourceMan, null)) {
                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("MyWinFormsApp.MyResources.MyResources", typeof(MyResources).Assembly);
                    resourceMan = temp;
                }
                return resourceMan;
            }
        }
        
        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
        public static global::System.Globalization.CultureInfo Culture {
            get {
                return resourceCulture;
            }
            set {
                resourceCulture = value;
            }
        }

        public static string FormTitle {
            get {
                return ResourceManager.GetString("FormTitle", resourceCulture);
            }
        }

        public static string WelcomeMessage {
            get {
                return ResourceManager.GetString("WelcomeMessage", resourceCulture);
            }
        }
    }
}
cs 复制代码
//MyResources/MyResources.resx

<?xml version="1.0" encoding="utf-8"?>
<root>
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <data name="FormTitle" xml:space="preserve">
    <value>我的窗体应用</value>
  </data>
  <data name="WelcomeMessage" xml:space="preserve">
    <value>欢迎使用!</value>
  </data>
</root>
相关推荐
放氮气的蜗牛6 分钟前
C++从入门到精通系列教程之第十篇:异常处理与调试技巧
开发语言·jvm·c++
q5673152327 分钟前
用Go的resty库批量下载公开网站视频
开发语言·golang·音视频
Y雨何时停T38 分钟前
深入理解 Java 虚拟机之垃圾收集
java·开发语言
愚润求学1 小时前
从零开始学C语言文件操作:理论与代码详解
c语言·开发语言·文件操作·语法
hamburgerDaddy11 小时前
golang 从零单排 (一) 安装环境
开发语言·后端·golang
caoruipeng1 小时前
Windows编程----进程的当前目录
c++·windows·c#
小画家~1 小时前
第本章:go 切片
开发语言·后端·golang
小画家~1 小时前
第五章:go 的数据类型 及go语言拼接字符串有哪些方式
开发语言·后端·golang
Luis Li 的猫猫1 小时前
基于Matlab的人脸识别的二维PCA
开发语言·人工智能·算法·matlab
数据小小爬虫1 小时前
利用PHP爬虫获取17网(17zwd)商品详情:实战指南
开发语言·爬虫·php