在运行时更改usercontrol中的标签文本
本文关键字:标签 文本 usercontrol 运行时 | 更新日期: 2023-09-27 17:53:21
你好我是c#的新手,我正在做一个项目,在这个项目中,我将usercontrol1作为*标签文本框日期选择器*现在我想更改标签文本,我正在尝试此代码,但它不起作用
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
";//on for load event??this Right提前感谢!!
您正在编写一个属性并设置它自己
如果您的标签名称是lbl
,您可以简单地使用lbl.Text="what you want";
如果你需要一个属性来对文本进行更强的检查,你可以写:
public string DateLabel
{
get { return lbl.Text; }
set { lbl.Text = value; }
}
所以在主窗体中,您可以编写(假设您有一个名为uc的控件(
uc.DateLabel = "hello";
已编辑
需要明确的是:假设你有
- UserControl1用户控件中一个名为
lbl
的标签 - 主窗体中名为
uc
的UserControl1控件
在你的用户控制代码中,你可以写:
public string DateLabel
{
get { return lbl.Text; }
set { lbl.Text = value; }
}
在你的主表单中,你可以写下:
uc.DateLabel = "what you want";
尝试将其更改为这个(controlname是您给标签的id(
public string DateLabel
{
get { return controlname.Text; }
set
{
controlname.Text= value;
}
}
您的属性被称为DateLabel,您正在尝试设置它。这没有道理。
请尝试以下操作。您需要将asp:Label拖到用户控件上,并将其称为lblDateLabel。
公共字符串DateLabel{获取{return lblDateLabel.Text;}设置{lblDateLabel.Text=value;}}