请教vb.net 容器控件怎么制作一个可以作为容器的用户控件

同一页面一个用户控件如何给另一个用户控件中的控件赋值_asp.net开发_ThinkSAAS
同一页面一个用户控件如何给另一个用户控件中的控件赋值
同一页面一个用户控件如何给另一个用户控件中的控件赋值
内容来源: 网络
"A用户控件有一个textbxB用户控件有若干Checkbox我要在B中选中若干 点击保存然后把checkbox的值赋给A中的Textbox"
问题来自论坛。
解决此问题,可以首先分析三者的职责,A用户控件,B用户控件以及B用户件的铵钮;如果更细一点来分析,A用户控件里的TextBox控件,此Textbox需要赋值,值从哪里来,它不用知道也无需知道。B用户控件里也有一个CheckBoxList控件,它只有数据,用户选择的值,将给谁,它也不知道,管不了。还有一个B用户控件的铵钮,铵钮将产生Click事件,它只管保存数据,把CheckBoxList选择的值,保存至TextBox。
OK, 由于CheckBoxList和铵钮是同在一个用户控件内,它们之间的关系没有什么问题,可以直接访问。现在关键是怎样在B用户控件,访问到A用户控件的TextBox?
可以这样想。由于A用户控件与B用户控件同拉放在aspx页面,这样它们就是在同一个容器中,可以直接访问。因此,可以创建一个接口,找到A用户控件的函数。
IUserControlable
using S
using System.Collections.G
using System.L
using System.W
using System.Web.UI;
/// &summary&
/// Summary description for IUserControlable
/// &/summary&
namespace Insus.NET
public interface IUserControlable
UserControl uc();
然后是.aspx.cs页实现刚才创建好的接口:
View Code 
using S
using System.Collections.G
using System.L
using System.W
using System.Web.UI;
using System.Web.UI.WebC
using Insus.NET;
public partial class _Default : System.Web.UI.Page,IUserControlable
protected void Page_Load(object sender, EventArgs e)
public UserControl uc()
return this.UcA1;
只要.aspx.cs实现了接口,那我们就可以把它.aspx.cs转为接口类型。
View Code 
IUserControlable uca = (IUserControlable)this.P
Ok,现在要考虑到的是TextBox,怎样给它赋值的问题。它只知道需要一个值,值从哪里来,它不管。因此,我们可以创建一个接口,接口有一个方法,这个方法带一个参数,这个参数就TextBox将得到的值。
ISetValueable
using S
using System.Collections.G
using System.L
using System.W
/// &summary&
/// Summary description for ISetValueable
/// &/summary&
namespace Insus.NET
public interface ISetValueable
void SetValueForTextBoxControl(string value);
由于TextBox控件在A用户控件内,因此A用户控件实现刚才创建的ISetValueable接口。
View Code 
using S
using System.Collections.G
using System.L
using System.W
using System.Web.UI;
using System.Web.UI.WebC
using Insus.NET;
public partial class UcA : System.Web.UI.UserControl ,ISetValueable
protected void Page_Load(object sender, EventArgs e)
public void SetValueForTextBoxControl(string value)
this.TextBox1.Text =
由于A用户控件实现了ISetValueable接口,因此也可以把A用户控件转为这个接口类型。
View Code 
ISetValueable textbox = (ISetValueable)uca.uc();
我们来看看动画演示:
演示程序:
PHP开发框架
开发工具/编程工具
服务器环境
ThinkSAAS商业授权:
ThinkSAAS为用户提供有偿个性定制开发服务
ThinkSAAS将为商业授权用户提供二次开发指导和技术支持
让ThinkSAAS更好,把建议拿来。
开发客服微信怎么让用户控件成为容器控件 - .NET组件控件当前位置:& &&&怎么让用户控件成为容器控件怎么让用户控件成为容器控件&&网友分享于:&&浏览:142次如何让用户控件成为容器控件我从UserControl中继承下来一个用户控件,在构造函数中设置了 & SetStyle(ControlStyles.ContainerControl, & true);但是在vs2005的ide中,别的控件拖不进我的控件中,只能通过程序动态将别的控件添加到我的这个控件中。我想问一下,如何让其在ide中也能象其它容器控件,比如panel一样,可以将别的控件拖进去------解决方案--------------------1. 在工程中引用System.Design.dll
2. 在用户控件中添加以下代码
ponentModel
ponentModel.Design
&Designer(GetType(System.Windows.Forms.Design.ParentControlDesigner), GetType(IDesigner))&
Public Class UserControl1
' 其它代码
以上为VB.net代码
------解决方案--------------------不用引用System.Design.dll,如下就可以了:
[Designer( &System.Windows.Forms.Design.GroupBoxDesigner, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a &)]
public partial class UserControl1 : UserControl
public UserControl1()
InitializeComponent();
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
VB用户控件制作讲解实例
下载积分:30
内容提示:VB用户控件制作讲解实例
文档格式:PDF|
浏览次数:342|
上传日期: 16:41:41|
文档星级:
该用户还上传了这些文档
VB用户控件制作讲解实例
官方公共微信一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:}

我要回帖

更多关于 vb.net 容器控件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信