我使用VirtualStudio Express 2010切换,我正在尝试使用MonoDevelop和GTKSharp。现在。我正在尝试切换到新的编辑器软件,但它似乎与VisualStudio有很大不同。
我想要做的是基本上在这个编辑器中使用小部件。例如,当我在VisualStudio中创建一个按钮然后双击该项时,我会自动获取表示该表单中项目的代码。这就是问题,如何在MonoDevelop中为按钮和组合框创建事件?我现在正在浏览互联网示例两天,我无法弄清楚如何做到这一点。这些例子不够明确。
我想创造什么?首先,我想弄清楚如何使用ComboBox和按钮,这将允许我在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;
}
}
但我觉得我比以前更迷失。
答案 0 :(得分:4)
创建一个新的C#GTK项目。
打开“MainWindow.cs”,在窗口右下角点击“Designer”按钮进入设计师模式。
接下来打开MonoDev窗口右侧的隐藏工具箱窗口。在主窗口画布上拖出“固定”容器。这是将按钮和东西放在窗口上所必需的。
现在拖动固定容器上的按钮。若要移动按钮,请在选中时单击按钮上方的小白框。
现在再次访问您的SourceCode。在构造函数中写::
button1.Clicked += button1_Click;
然后制作新的Click方法。
private void button1_Click(object s, EventArgs e)
{
}
答案 1 :(得分:3)
您无需手动添加处理程序......
在Gtk中,概念名称稍有变化,当一个与windows窗体中的控件相同的窗口小部件,只是不同的名称,它会发出一个“信号”,那么你要做的就是“处理”那个信号,它等同于在窗体中捕获事件。
您可以在monodevelop中选择您的小部件,然后转到该小部件的属性窗格,在那里您将看到一个名为“signals”的选项卡,其中包含小部件专门发出的信号列表,从而允许您当小部件执行单击操作时的代码操作。只需双击要处理的信号,例如,对于一个按钮,双击“已释放”信号,该信号是按钮发出的信号,当您单击它并释放它时。
我正在附上screenshot,以便您可以了解相关信息。希望它有所帮助!!