当前位置: 首页 > news >正文

Trae IDE新建C#工程

目录

1 结论

2 项目结构

3  项目代码


1 结论

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

2 项目结构

MyWinFormsApp/

├── Program.cs
├── Form1.cs
├── Form1.Designer.cs
├── MyResources/
│   └── MyResources.resx
└── MyWinFormsApp.csproj

3  项目代码

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

//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;
        }
    }
}

//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();
        }
    }
}

//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>

//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());
        }
    }
}

//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);
            }
        }
    }
}
//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.1)测距
  • 2025年科技趋势深度解析:从“人工智能+”到量子跃迁的技术革命
  • 练习题:72
  • 时序数据库 TDengine 化工新签约:存储降本一半,查询提速十倍
  • 基于NIST后量子算法的混合加密系统
  • 动态规划背包刷题
  • 量化交易全面入门指南(2025最新版)
  • 智能疫苗查漏补种智能体创建逻辑和步骤
  • Nodemailer使用教程:在Node.js中发送电子邮件
  • HiveServer2与Spark ThriftServer详细介绍对比
  • 深度学习模型Transformer核心组件—自注意力机制
  • python-leetcode-解决智力问题
  • MyBatis-Plus 与 Redis
  • HarmonyOS Next元服务网络请求封装实践
  • 小米安全攻防工程师面试题解析
  • VMware16虚拟机安装Linux-centos教程最新
  • 时序数据库 InfluxDB 3.0 版本性能实测报告:写入吞吐量提升效果验证
  • starrocks如何配置多个hive数据源,其中一个是kerberos认证
  • 【第19节】C++设计模式(行为模式)-Command(命令)模式
  • Windows 11【1001问】打开Windows 11任务管理器的11种方法
  • 做电商网站的公司/b2b网站
  • 广州市城市建设网站/武汉今日头条最新消息
  • 渭南建设工程招标投标网站/企业推广策划书
  • 平面设计高端网站/今日全国疫情最新消息
  • 汽车案例网站/小升初最好的补课机构排行榜
  • 现在石家庄做网站的公司有哪几家/查询网入口