在运行时更改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提前感谢!!

在运行时更改usercontrol中的标签文本

您正在编写一个属性并设置它自己
如果您的标签名称是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;}}