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

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>


http://www.kler.cn/a/576092.html

相关文章:

  • IDEA2023 使用枚举类型java: 非法字符: ‘\ufffd‘
  • PostgreSQL常用系统表
  • 目录扫描工具深度对比:Dirb、Dirsearch、DirBuster、Feroxbuster 与 Gobuster
  • 权限系统基础知识笔记
  • 【基础2】选择排序
  • TypeError: JSON.stringify cannot serialize cyclic structures
  • 让知识触手可及!基于Neo4j的机械设备知识图谱问答系统
  • golang将大接口传递给小接口以及场景
  • TCP/IP协议与IP地址——浅解析
  • 网络编程之应用层协议(http)
  • OpenHarmony子系统开发 - AI框架开发指导
  • Vue的简单入门 四
  • 通过CycleGAN把不成对的可见光数据转换为红外数据
  • 深度学习驱动的智能化革命:技术演进与跨行业实践
  • Kotlin D2
  • 2025生物科技革命:AI驱动的基因编辑与合成生物学新纪元
  • GreatSQL5.7 与 8.0 对 DATE 非法值处理方式不同
  • B站高清视频爬取:Python爬虫技术详解
  • 家政预约小程序用例图分析
  • Linux之网络管理配置(Network Configuration Management in Linux)