在 MonoDevelop 和 GTKSharp 中使用小部件

本文关键字:小部 MonoDevelop GTKSharp | 更新日期: 2023-09-27 17:56:19

我从VirtualStudio Express 2010切换过来,我正在尝试使用MonoDevelop和GTKSharp。现在。我正在尝试切换到新的编辑器软件,但它似乎与VisualStudio有很大不同。

我正在尝试做的基本上是在此编辑器中使用小部件。例如,当我在 VisualStudio 中创建一个按钮,然后双击该项目时,我会自动获取表示表单中项目的一段代码。问题是,如何在 MonoDevelopment 中为按钮和组合框创建事件?我已经浏览了两天的互联网示例,我不知道该怎么做。例子还不够清楚。

我想创造什么?首先,我试图弄清楚如何使用组合框和按钮,这将允许我在 ComboBox 中选择 3 个选项之一,然后在按钮事件下,我想根据选择的项目触发 3 个单独窗口中的 1 个。

请为我提供一些如何使用MonoDevelop的简单示例,否则我需要切换回Windows操作系统:(

请帮忙!

//编辑//

假设我有时间,我真的很感兴趣。因此,如果 GTK# 允许我到目前为止:

public MainWindow () : base(Gtk.WindowType.Toplevel)
{
    Build ();
    button1.Clicked += button1_Click;
    combobox1.SelectionGet += comboBox1_Selection; << is this correct?
}

private void button1_Click(object s, EventArgs e)
{
}
private void comboBox1_Selection (object s, EventArgs e)
{
    switch (combobox1.SelectedIndex)
    {
        case 0:
            window1.Show();
            break;
        case 1:
            window2.Show();
            break;
        case 2:
            window3.Show();
            break;
    }
}

但我觉得我比以前更迷茫了。

在 MonoDevelop 和 GTKSharp 中使用小部件

创建一个新的 C# GTK 项目。

打开"主窗口.cs",然后在窗口的右下角单击"设计器"按钮进入设计器模式。

接下来,打开 MonoDev 窗口右侧的隐藏工具箱窗口。在主窗口画布上拖出"固定"容器。这是将按钮和东西放在窗口上所必需的。

现在在固定容器上拖动一个按钮。要移动按钮,请在选中按钮时单击按钮上方的小白框。

现在再次转到您的源代码。在构造函数中写入::

button1.Clicked += button1_Click;

然后制作新的 Click 方法。

private void button1_Click(object s, EventArgs e)
{
}

您无需手动添加处理程序...

在 Gtk 中,概念名称略有变化,当一个与 windows 窗体中的控件相同的小部件(只是名称不同)执行某些操作时,它会发出"信号",那么您所要做的就是"处理"该信号,这相当于捕获窗口窗体中的事件。

您只需在 monodevelopment 中选择您的小部件,然后转到该小部件的属性窗格,在那里您将看到一个名为"信号"的选项卡,其中包含小部件专门发出的信号列表,从而允许您在小部件执行诸如被单击之类的操作时编写操作。一旦双击您要处理的信号,例如,对于按钮,双击"释放"信号,这是当您单击按钮并释放它时发出的信号。

我附上了屏幕截图,以便您可以获得图片。希望对您有所帮助!!