如何在用户控件(c#)中公开图像的visible属性?

时间:2009-05-24 23:44:00

标签: c# user-controls

问题:

一个控件,向每个用户显示他们已经超过可能的四个测验。

我的解决方案:

创建用户控件,列出测验的名称,并在每个测验名称末尾有一个复选标记,我希望在通过测验时可以看到。

实际的用户控件位于我的母版页内。

通过阅读其他帖子,我了解到我需要在后面的控制代码中公开image.visible属性。我已经尝试过这几种方法并且没有太多运气。

那么如何在用户控件中公开图像的.visible属性呢?

感谢您的任何建议。

3 个答案:

答案 0 :(得分:6)

尝试这样的事情:

public Boolean ImageIsVisible
{
    set { this.yourImage.Visible = value; }
    get { return this.yourImage.Visible; }
}

答案 1 :(得分:1)

我能想到的方式......

在USER控件中,只需将图像设置为public而不是default - private,但会公开所有元素。

另一种方法是在用户控制级别创建一个传递给ex:

的属性
public Boolean ImgVisible
{
  get { return this.YourImageControl.Visible; }
  set { this.YourImageControl.Visible = value; }
}

或者,只需在用户控件中创建一个函数...

public void ImgVisible( Boolean ShowIt )
{
  this.YourImageControl.Visible = ShowIt;
}

抱歉,错过了关于母版页的部分...作为Web控件,只要从窗体的IDE(可视化设计器)可以看到控件,就可以直接在CONTROL的代码隐藏的部分类定义中引用它通过显式名称引用...

public Boolean ImgVisible
{
   get { return ImgControl.Visible; }
   set { ImgControl.Visible = value; }
}

答案 2 :(得分:0)

我在内容页面上访问此内容时遇到问题。这是对的吗?

  1. 我在控件上进行了代码隐藏,并添加了以下属性:

    public Boolean ImgVisible { get { return this.imgModule1Passed.Visible; } set { this. imgModule1Passed.Visible = value; } }

  2. 在内容页面代码后面,我使用以下内容:

  3. UserControl control = (usercontrol)this.Page.Master.FindControl("QuizzesPassed1");

    我不应该通过以下方式找到该物业:

    Control.ImgVisible

    我似乎无法找到控件。