用户自定义控件问题!急...

喜-喜 2010-05-22 02:46:38
大家好!请教一个问题:(下面仅仅是一个示例问题,具体使用当中不是这么简单的)

在VS2005中新建一个C#项目
1、新建主窗体 form1
2、在窗体中拖放一个文本框 textbox1 和按钮 Button1

3、然后创建一个自定义控件 usercontrol1
4、在用户自定义控件中托放入一个文本框 textbox1

5、输入“代码”编译执行
6、然后将自定义控件 usercontrol1 拖放入主窗体编译执行

要实现的功能:在第 2 步的文本框 textbox1 中输入内容 123 ,点击提交按钮后,在主窗体自定义控件
文本框中也相应显示 123 !

效果图:

问题:请问第 5 步中的代码应该怎么写???请给出源代码!拜托大家了...
...全文
163 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
gll062 2010-05-22
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();

UserControl1 uc = new UserControl1();
panel1.Controls.Add(uc);
}

private void button1_Click(object sender, EventArgs e)
{
string str = textBox1.Text;
Control[] c = panel1.Controls.Find("UserControl1", false);
foreach (Control control in c)
{
Control[] con=control.Controls.Find("TextBox1", false);
con[0].Text = str;
}
}
}
}
gll062 2010-05-22
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form2 f2 = new Form2();

public Form1()
{
InitializeComponent();

UserControl1 uc = new UserControl1();
panel1.Controls.Add(uc);
}

private void button1_Click(object sender, EventArgs e)
{
string str = textBox1.Text;
Control[] c = panel1.Controls.Find("UserControl1", false);
foreach (Control control in c)
{
Control[] con=control.Controls.Find("TextBox1", false);
con[0].Text = str;
}
}
}
}
喜-喜 2010-05-22
  • 打赏
  • 举报
回复
问题解决..
喜-喜 2010-05-22
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xys_777 的回复:]
lz没做过程序吧
[/Quote]

这是第一次做!业余的!好像用事件、委托可以实现,但这方面的知识的确很欠缺...

看了很多资料,还是一头雾水!

帮个忙,提供一下实现上面功能的代码!谢啦...
永生天地 2010-05-22
  • 打赏
  • 举报
回复
lz没做过程序吧
喜-喜 2010-05-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lovesongforever 的回复:]
第五步:
在自定义控件里写个方法

public void Init(string txt)
{
this.txtUserControl.Text = txt;
}

然后在你的Form里调这个方法把值传过来。
[/Quote]

是下面的写法么??好像不能实现啊!

// UserControl1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication3
{
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}

public void Init(string txt)
{
this.textBox1.Text = txt;
}

}
}
// Form1.cs
using System;
using System.Collections.Generic;
using System.Data;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace WindowsApplication3
{
public partial class Form1 : Form
{

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
UserControl1 uc = new UserControl1();
uc.Init(this.textBox1.Text);
}
}
}
garfieldzf 2010-05-22
  • 打赏
  • 举报
回复
第五步:
在自定义控件里写个方法

public void Init(string txt)
{
this.txtUserControl.Text = txt;
}

然后在你的Form里调这个方法把值传过来。
喜-喜 2010-05-22
  • 打赏
  • 举报
回复
再顶....
喜-喜 2010-05-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 shao5155285 的回复:]
(⊙o⊙)… 感觉可以给用户控件定义属性事件 利用事件 属性获取用户控件中的值
[/Quote]

多谢提供思路!

刚看了一些有关接口、事件、委托的视频教程!一头雾水...有点抽象,搞不懂,所以来这里求助了!希望能给出源代码...
weiki516 2010-05-22
  • 打赏
  • 举报
回复
(⊙o⊙)… 感觉可以给用户控件定义属性事件 利用事件 属性获取用户控件中的值
喜-喜 2010-05-22
  • 打赏
  • 举报
回复
怎么没人来顶呢!自己顶了...

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧