2013-04-02 137 views
0

所以,我试图获得一个标签来反映正在发生的任何操作的当前设置。c#窗体中的动态标签窗体应用程序

this.SettingXLbl.Text = "The current value-set is " + SettingUpDown.Value; 

我修改了自动生成的代码,试图在SettingUpDown中显示当前值,但我只得到零。

我交易.Value.Minimum仍然得到零结果。上下的最小值大于零,因此我不确定需要采取什么不同的操作才能使其反映上下的当前值。

是否还有其他一些属性需要改变,而不是文本本身。

+0

你在哪里设置这个值? –

+0

您需要在'SettingUpDown'的'ValueChanged'处理程序中运行该代码。 – Blorgbeard

+0

@Blorgbeard - 谢谢。这正是问题所在。出于某种原因,这对我来说并不明显。 – user1993843

回答

3
this.SettingXLbl.Text = "The current value-set is " + SettingUpDown.Value; 

您在设计者的InitializeComponent方法中更改了该行。当表单被构建时,该方法只被调用一次。所以它将始终反映当时的价值SettingUpDown.Value,这在表单构建时可能为0。

您必须在某些情况下明确更新标签的文本。例如,NumericUpDown控件有一个ValueChanged event,您可以在该值更改时更改标签的文本。只需在设计器中选择组件,在属性窗口中让它显示事件,然后双击ValueChanged事件。 Visual Studio将插入一个方法存根并将其与该事件相关联。您可以填写任何您想要进行出价的代码。类似这样的:

public void SettingUpDown_ValueChanged(object sender, EventArguments e) 
{ 
    this.SettingXLbl.Text = "The current value-set is " + SettingUpDown.Value; 
} 
+0

谢谢你的解释!这正是我需要解决的问题。出于某种原因,在查看Up-down事件时,我没有想到更改标签 – user1993843

相关问题