C#,两个窗体,当用户改变主窗体中TEXTBOX中内容时,子窗体TEXTBOX随之改变。

请用C#语言编写一个程序,建立两个窗口,每个窗口中放置一个TextBox控件,当用户改变第一个窗口中Textbox控件的文字内容是,另外一个窗口的TextBox的文字内容... 请用C#语言编写一个程序,建立两个窗口,每个窗口中放置一个TextBox控件,当用户改变第一个窗口中Textbox控件的文字内容是,另外一个窗口的TextBox的文字内容同步改变;

只有两个窗体,一个窗体中一个TEXTBOX。

要完整代码。
展开
 我来答
落月Prc
2009-12-25 · TA获得超过2789个赞
知道大有可为答主
回答量:2011
采纳率:100%
帮助的人:2428万
展开全部
简单。
TextBox tb=new TextBox();
public Form2(TextBox TB)
{//构造函数
tb=TB;
……
}
然后textBox1的keyup方法写:
tb.Text=textBox1.Text
最后,Form1中调用Form2的方法:
Form2 f2=new Form2(textBox1);
f2.Show();
OK,搞定!
礼物袋网
2009-12-25
知道答主
回答量:23
采纳率:0%
帮助的人:0
展开全部
C# code
namespace FormsDelegate
{
/*
1. 当数据是子窗体显示的必要条件的话,通过修改子窗体的构造函数来进行传递数据;

2. 如果是不定时的访问,则可以通过委托来实现。

*/

public delegate string GetText();
public delegate void SetText(string text);

public partial class MainForm : Form
{
SubForm subForm;

public MainForm()
{
InitializeComponent();
}

/// <summary>
/// 用于子窗体修改主窗体的值
/// 这里方法定义为私有的,但是子窗体仍然可以通过公有的委托来调用
/// </summary>
/// <param name="text">从子窗体中获取的值</param>
private void SetTextValue(string text)
{
tbText.Text = text;
}

/// <summary>
///用于子窗体从主窗体中获取值
/// </summary>
/// <returns>子窗体从主窗体中获取的值</returns>
private string GetTextValue()
{
return tbText.Text;
}

private void btnOK_Click(object sender, EventArgs e)
{
//通过委托来进行两个窗体的互操作
subForm = new SubForm(this.GetTextValue, this.SetTextValue);

//通过给子窗体传递主窗体的对象或值来互操作
//subForm = new SubForm(this);
subForm.ShowDialog();
}
}
}

C# code
namespace FormsDelegate
{
public partial class SubForm : Form
{
private GetText getTextValue = null;
private SetText setTextValue = null;

private MainForm mainForm = null;
public SubForm(GetText getText,SetText setText)
{
InitializeComponent();
this.getTextValue = getText;
this.setTextValue = setText;
this.tbText.Text = this.getTextValue();
}

public SubForm(MainForm mainForm)
{
InitializeComponent();
this.mainForm = mainForm;
}

private void btnOK_Click(object sender, EventArgs e)
{
this.setTextValue(this.tbText.Text);
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liuliu0203
2009-12-25
知道答主
回答量:21
采纳率:0%
帮助的人:0
展开全部
第一个窗体定义个事件,然后在TextBox的SelectChanges事件中调用该事件的响应,第二个窗体定义一个方法去接受第一个窗体的事件,响应Text变化。很简单
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bxfc
2009-12-25 · TA获得超过872个赞
知道小有建树答主
回答量:1104
采纳率:0%
帮助的人:681万
展开全部
子窗体写个public方法,用来修改TextBox值的

父窗体中在TextBox的TextChange事件里面写代码
首先找到这个子窗体,然后调用这个窗体的这个方法,把父窗体的TextBox值以参数的形式传进去就行了。

不明白的话留言
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lucasfly
2009-12-25 · 超过22用户采纳过TA的回答
知道答主
回答量:91
采纳率:0%
帮助的人:72万
展开全部
直接放个Timer控件,定义个全局变量,修改值时改变变量,让子窗体的Timer控件监控变量,改变了,就传值过去,这样最简单了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式