C# 如何使用';否则';关于Gtk#2.0
我是新来的。我在linux上与monodevelop一起使用C#。我创建了GUI并添加了标签。我可以通过按钮控制标签文本(当我单击按钮时,按钮的事件更改了标签文本)。但我不想用这个按钮。我希望独立于事件运行(没有按钮和单击,只使用条件)。是否可以在不使用任何对象事件的情况下运行事件?我想这样做: 例如:C# 如何使用';否则';关于Gtk#2.0,c#,user-interface,if-statement,events,text,C#,User Interface,If Statement,Events,Text,我是新来的。我在linux上与monodevelop一起使用C#。我创建了GUI并添加了标签。我可以通过按钮控制标签文本(当我单击按钮时,按钮的事件更改了标签文本)。但我不想用这个按钮。我希望独立于事件运行(没有按钮和单击,只使用条件)。是否可以在不使用任何对象事件的情况下运行事件?我想这样做: 例如: using System; using Gtk; public partial class MainWindow: Gtk.Window { public MainWindow () :
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我假设当您使用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
编辑
我想OP是在WPF工作,因为我的答案不适合他
在WPF中,只有文本控件具有.text属性,其他所有控件都使用.Content
为了更清楚,我还添加了WPF回答
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";
}
我找到了答案。如果不想使用事件,则应将代码写入
公共主窗口():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;
}
}
谢谢你的时间。不清楚你在问什么。您想在何处使用此
if/else
语句?在按钮中单击事件
?何时加载表单?其他地方?逻辑似乎很好,我只是不明白您想在哪里实现它。欢迎使用SO。您遇到了什么问题?实际上,我从serialport读取数据,并希望将传入的数据写入GUI。我想也许我可以用if/Else来做这件事,这听起来是完全可能做到的。然而,在实现它时,您遇到了什么问题仍然不清楚。你能告诉我们吗?我怎样才能更改标签的文本。我希望我的数据写在标签的文本上。只是我不明白,也无法理解。或者你有什么建议?如何将传入数据写入GUIHi,@Shmosi。不幸的是,你所写的并不能真正回答这个问题。你发布的代码几乎完全是OP写的,你没有提供任何解释来加深OP的理解。我不太清楚他在问什么,但我认为他想要一个if/else语句,我只是想提供一个快速的答案:)我尝试了这个,但没有用。我不知道此代码应该使用哪个标签的事件。我假设您正在WPF中工作,我更新了我的答案以适合WinForms和WPF