Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用c在用户控件中公开标签#_C#_Controls - Fatal编程技术网

C# 如何使用c在用户控件中公开标签#

C# 如何使用c在用户控件中公开标签#,c#,controls,C#,Controls,我用一个图片框和一个空白标签制作了一个用户控件。如何公开标签,以便从主.net应用程序更新文本值。我已经有10年没有写过任何c#代码了,只是被扔进了一个项目。我对代码的所有了解是: namespace RHeader1 { public partial class RHeader : UserControl { public RHeader() { InitializeComponent(); } } } 请原谅我的愚蠢。

我用一个图片框和一个空白标签制作了一个用户控件。如何公开标签,以便从主.net应用程序更新文本值。我已经有10年没有写过任何c#代码了,只是被扔进了一个项目。我对代码的所有了解是:

namespace RHeader1
{
   public partial class RHeader : UserControl
   {
      public RHeader()
      {
         InitializeComponent();
      }
   }
}
请原谅我的愚蠢。我知道我需要做一个get/set,但是?????

使用以下方法:

Label lbl= (Label)myUserControl.FindName("yourlabelname");

通过这种方式,您可以找到并更新设置在
UserControl

中的label控件。我想您的意思是,由于控件不是公共的,访问它们的正确方式是通过属性(我同意),所以您可以直接公开更新标签的属性-我认为这是winforms

        public string Label
        {
            get { return label1.Text; }
            set { label1.Text = value; }
        }

您可以将标签的“修改器”属性更改为“公共”,这将导致标签属性在UC的“属性”窗口中可见,并允许您执行以下操作

uc.label.Text = "foo";

如果您尚未取消标签声明:

label1 = new label();
然后

可以用任何字符串值替换“某些文本”

label1.text = "some text";