2

在 Java Swing 中,我们可以创建只使用 Java 编码的 GUI(例如在 Eclipse 中)。使用 NetBeans 的工具箱将组件拖放到 UI 是可选的。

我想知道 C# 中是否有相同的概念。我可以将我的组件放入我的 GUI 中并仅通过编码添加它们的行为吗?这样我会觉得我对我的应用程序有更多的控制权。

示例:我不想在工具箱中将“鼠标悬停”添加到我的按钮!相反,我想自己编写代码。我知道在哪里可以找到代码,但这是我应该编写那行代码的唯一地方吗?

请在此将 Java Swing 与 C# 进行比较。

4

2 回答 2

11

关于 C#:

为了让您C#从 a 运行应用程序cmd,需要执行以下步骤:

  1. 转到C:\Windows\Microsoft.NET\Framework\v4.0.30319文件系统上的位置并复制路径。
  2. 现在右键单击Computer转到属性。
  3. 在 下System Properties,选择Advanced选项卡,然后单击Environment Variables
  4. Environment VariablesUser Variables,选择New
  5. 对于Variable NameCSHARP_HOME或其他东西,虽然我使用相同的进一步需要解释这一点。Variable Value仅用于Paste您在步骤 1中复制的内容。单击确定。
  6. 再次执行第 4 步,如果path变量不存在,否则您可以简单地选择path然后单击Edit以执行下一个操作(将;(分号)放在末尾Variable Value并写入%CSHARP_HOME%\(或使用您在第 5 步中使用的内容) )。这次为Variable Namewritepath和 for Variable Valueuse%CSHARP_HOME%\并单击 OK。
  7. 打开cmd并键入csc并按ENTER,您可能会看到类似这样的输出 命令输出 1
  8. 现在考虑我在这个位置为我的 CSharp 项目(在文件系统上)创建一个目录结构C:\Mine\csharp\command。在这里,我在文件夹中创建了两个文件command夹。构建
  9. 现在从任何Text Editor创建一个小示例程序(我使用的是 Notepad++),如下所示,将其保存WinFormExample.cssource文件夹下:

using System;
using System.Drawing;
using System.Windows.Forms;

namespace CSharpGUI {
    public class WinFormExample : Form {

        private Button button;

        public WinFormExample() {
            DisplayGUI();
        }

        private void DisplayGUI() {
            this.Name = "WinForm Example";
            this.Text = "WinForm Example";
            this.Size = new Size(150, 150);
            this.StartPosition = FormStartPosition.CenterScreen;

            button = new Button();
            button.Name = "button";
            button.Text = "Click Me!";
            button.Size = new Size(this.Width - 50, this.Height - 100);
            button.Location = new Point(
                (this.Width - button.Width) / 3 ,
                (this.Height - button.Height) / 3);
            button.Click += new System.EventHandler(this.MyButtonClick);

            this.Controls.Add(button);
        }

        private void MyButtonClick(object source, EventArgs e) {
            MessageBox.Show("My First WinForm Application");
        }

        public static void Main(String[] args) {
            Application.Run(new WinFormExample());
        }
    }
}

  1. 现在输入csc /out:build\WinFormExample.exe source\WinFormExample.cs(最后给出更多信息,用于编译器选项)并按下ENTER编译,如下所示: 命令输出 2
  2. 现在只需使用 运行它.\build\WinExample,如下所示: 命令输出 3
  3. 现在你的简单GUI Application已经启动并运行了:-)

请让我知道,Java如果需要的话,我也可以解释同样的事情:-)

有关更多信息,请Compiler Options参阅按字母顺序列出的 C# 编译器选项

于 2013-08-18T06:44:13.330 回答
4

WinForms 拖放没有什么神奇之处。您可以从 System.Windows.Forms 引用相同的类。如果您要自己动手,我建议您查看 Model View Presenter 模式

这是一篇比较 Java Swing 和 WinForms的好文章:

于 2013-08-18T00:45:26.837 回答