我是C#的新手。我在Linux上与monodevelop一起使用C#。我创建了GUI并添加了标签。我可以通过按钮控制Label的文本(当我单击button时,按钮的事件更改了label的文本)。但是我不想使用按钮。我想独立于事件运行(没有按钮也没有点击,仅使用条件即可)。是否可以在不使用任何对象事件的情况下运行事件?我想这样做:
例如:
using System;
using Gtk;
public partial class MainWindow: Gtk.Window
{
public MainWindow () : base (Gtk.WindowType.Toplevel)
{
Build ();
}
protected void OnDeleteEvent (object sender, DeleteEventArgs a)
{
Application.Quit ();
a.RetVal = true;
int b = 5;
if (b == 5)
{
label2.Text="hello";
}
else label2.Text="world";
}
}
我的目标是在事件之外更改标签(例如:不使用按钮)。我搜索了,但找不到任何东西。谢谢你的时间
最诚挚的问候
Faruk
答案 0 :(得分:0)
我假设您在使用monodevelop时(我使用vs)在语言上没有差异,因此我认为您的代码应该可以正常工作。我将发布示例:
int a = 2;
Label L = new Label(); //only for demonstration
if (a == 0)
{
L.Text = "0";
}
else if (a == 1)
{
L.Text = "1";
}
else
{
L.Text = "else";
}
在我的示例中,标签的名称为L
EDIT
我认为OP正在WPF中工作,因为我的答案不适合他 在WPF中,只有文本控件具有.Text属性,其他所有控件都使用.Content 为了更加清楚,我添加了WPF answertoo
int a = 2;
Label L = new Label(); //only for demonstration
if (a == 0)
{
L.Content = "0";
}
else if (a == 1)
{
L.Content = "1";
}
else
{
L.Content = "else";
}
答案 1 :(得分:0)
我找到了答案。如果您不想使用事件,则应将代码写入public MainWindow () : base (Gtk.WindowType.Toplevel)
。编写此代码:
using System;
using Gtk;
public partial class MainWindow: Gtk.Window
{
public MainWindow () : base (Gtk.WindowType.Toplevel)
{
Build ();
int b = 5;
if (b == 5)
{
label2.Text="hello";
}
else label2.Text="world";
}
protected void OnDeleteEvent (object sender, DeleteEventArgs a)
{
Application.Quit ();
a.RetVal = true;
}
}
感谢您的时间。