更改标签文本
问题描述:
你好 即时通讯新的C#和IM上的一个项目,在我犯了一个的UserControl1作为 * 标签文本框日期选择器 *工作现在我Wnt信号改变标签的文字,我尝试此代码,但它不能正常工作更改标签文本
using System;
using System.Windows.Forms;
namespace library_system
{
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
// private string DateLabel
public string DateLabel
{
**get { return DateLabel.Text; }//error when i write dateLabel.Text
set
{
DateLabel.Text= value;//error datelabel.Text
}**
}
即时使用此代码在usercontrol是正确的做到这一点?
,并在主窗体我写代码 userControl11.DateLabel="From Date
“; //对负载盛会 - 这是正确的 在此先感谢!
答
你正在写一个属性,设置本身
如果。您的标签名称是lbl
你可以简单地使用lbl.Text="what you want";
如果你需要一个属性来对文本较强的检查,你可以写:
public string DateLabel
{
get { return lbl.Text; }
set { lbl.Text = value; }
}
所以在你可以写主窗体(假设你有一个名为UC控制)
uc.DateLabel = "hello";
EDITED
需要明确的是:假设你有
- 一个在你的UserControl1用户控件命名
lbl
标签 - 一个名为
uc
的主窗体中的UserControl1控件
在用户控件的代码,你可以写:
public string DateLabel
{
get { return lbl.Text; }
set { lbl.Text = value; }
}
在主窗体,那么你可以这样写:
uc.DateLabel = "what you want";
答
尝试将其更改为这个(控件名称是你给你的标签ID)
public string DateLabel
{
get { return controlname.Text; }
set
{
controlname.Text= value;
}
}
+0
感谢你的答复它现在工作 – Raghav 2011-04-28 11:23:53
答
你的房产被称为DateLabel,你正试图设置它。 这没有任何意义。
请尝试以下操作。您需要将一个asp:Label拖放到您的usercontrol上,并将其命名为lblDateLabel。
public string DateLabel { get { return lblDateLabel.Text; } set { lblDateLabel.Text= value; } }
我的标签名是datelabel和datelable.Text不起作用 – Raghav 2011-04-28 11:06:02
你得到的错误是什么? – V4Vendetta 2011-04-28 11:12:03
@Raghav:你必须告诉我们你放在主窗体上的UserControl1的名字。如果它是'uc',你应该使用'uc.DateLabel =“text”;' – Marco 2011-04-28 11:16:28