UserControl 1---------------<%@ Control Language="C#" AutoEventWireup="true" CodeFile="UserControl1.ascx.cs" Inherits="UserControl1" %>First name:<asp:Label ID="lblFirstName" runat="server" Text="First name"></asp:Label><br />Last Name:<asp:Label ID="lblLastName" runat="server" Text="Last name"></asp:Label>Code-behind:--------------public partial class UserControl1 : System.Web.UI.UserControl{protected void Page_Load(object sender, EventArgs e){ }public string LastName{set { lblLastName.Text = value; }get { return value; }}public string FirstName{set { lblFirstName.Text = value; }get { return value; }}}UserControl 2---------------<%@ Control Language="C#" AutoEventWireup="true" CodeFile="UserControl2.ascx.cs" Inherits="UserControl2" %>First name:<asp:Label ID="lblFirstName" runat="server" Text="First name"></asp:Label><br />Last Name:<asp:Label ID="lblLastName" runat="server" Text="Last name"></asp:Label>Code-behind:--------------public partial class UserControl2 : System.Web.UI.UserControl{protected void Page_Load(object sender, EventArgs e){ }public string LastName{set { lblLastName.Text = value; }get { return value; }}public string FirstName{set { lblFirstName.Text = value; }get { return value; }}}In the .aspx page, add the user-controls---------------------------------------------<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TestUserControls.aspx.cs" Inherits="TestUserControls" %><%@ Register src="UserControl1.ascx" tagname="UserControl1" tagprefix="uc1" %><%@ Register src="UserControl2.ascx" tagname="UserControl2" tagprefix="uc2" %><html><head runat="server"></head><body><form id="form1" runat="server"><div><uc1:UserControl1 ID="UserControl1" runat="server" /></div><asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" /><uc2:UserControl2 ID="UserControl2" runat="server" /></form></body></html>In code-behind,-----------------public partial class TestUserControls : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){}protected void Button1_Click(object sender, EventArgs e){ Response.Write("First Name: " + UserControl1.FirstName); Response.Write("<br/>Last Name: " + UserControl2.LastName);UserControl2.FirstName = UserControl1.FirstName;UserControl2.LastName = UserControl1.LastName;}}
private void Form1_Load(object sender, EventArgs e) { UserControl1 uc1 = new UserControl1(); UserControl2 uc2 = new UserControl2(); uc1.Uc2 = uc2; panel1.Controls.Add(uc1); panel2.Controls.Add(uc2); }
namespace TestWinApp{ public partial class UserControl1 : UserControl { public UserControl1() { InitializeComponent(); } private UserControl2 uc2; public UserControl2 Uc2 { get { return uc2; } set { uc2 = value; } } private void UserControl1_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("Fname")); dt.Columns.Add(new DataColumn("Lname")); DataRow dr = null; for (int i = 0; i <= 4; i++) { dr = dt.NewRow(); dr["FName"] = "Mc."+i.ToString(); dr["Lname"] = "Duck"+i.ToString(); dt.Rows.Add(dr); } dataGridView1.DataSource = dt; } private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { uc2.textBox1.Text = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString(); ; } }}