在c#中,我有三个窗体,第二个和第三个窗体的textbox1都要获取窗体一得textbox1的text属性

这是我写的但是不是得不到结果就是弹出异常,有请各位大虾了。在窗体一中:privatevoidbutton1_Click(objectsender,EventArgse){... 这是我写的但是不是得不到结果就是弹出异常,有请各位大虾了。
在窗体一中:
private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
frm2.ShowDialog(this );
}
窗体二:
private void Form2_Load(object sender, EventArgs e)
{
Form1 frm1 = (Form1)this.Owner;
this.textBox1.Text = frm1.textBox1.Text;
}

private void button1_Click(object sender, EventArgs e)
{
Form3 frm3 = new Form3(this );
frm3.ShowDialog( );
}
窗体三:
public partial class Form3 : Form
{
Form3 frm1;
public Form3(Form3 f1)
{
InitializeComponent();
frm1 = f1;
}

private void Form3_Load(object sender, EventArgs e)
{

this.textBox1.Text = frm1.textBox1.Text;
frm1.textBox1.Text = this.textBox1.Text;
}
展开
 我来答
疯月龙族灬绝恋
2010-05-17 · TA获得超过124个赞
知道答主
回答量:93
采纳率:0%
帮助的人:50.7万
展开全部
建议用get{}方法来做。因为你都是用FORM1的TEXT值,这个不难

现在FORM1 定义一个静态变量来保存你要传递的值
下面是Form1代码:
private static string strMyText;
public string getMyText
{
get
{
return strMyText;
}
}
private void button1_Click(object sender, EventArgs e)
{
strMyText = textBox1.Text.Trim();
Form2 F2 = new Form2();
F2.ShowDialog();
}

在Form2中执行下面的代码:
private void Form2_Load(object sender, EventArgs e)
{
Form1 F1 = new Form1();
textBox1.Text = F1.getMyText;
}

就可以了! 至于Form3就同理了!

希望可以帮到你!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jiehaiyimo
2010-05-14 · TA获得超过270个赞
知道小有建树答主
回答量:278
采纳率:100%
帮助的人:261万
展开全部
嗯,夸窗体访问控件的属性把控件的Modifilers属性改为public是可以的,应该不安全,但是要访问textBox里面输入的内容是不能的,只能访问到已经初始化的属性的值,
要通过事件想父窗体传值,父窗体可以通过子窗体构造函数给子窗体传值,仅个人理解,可以试试,谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
skynomadism
2010-05-12 · TA获得超过319个赞
知道小有建树答主
回答量:410
采纳率:100%
帮助的人:166万
展开全部
对于你这种不会通过事件委托来做的人,估计让你去看也一下子你接受不了。

你可以在工程里专门添加一个类,里面全定义一些static的变量。

需要在多个窗口间传值时,就把这些静态变量做为中转站
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ksca00130318
2010-05-13 · TA获得超过319个赞
知道小有建树答主
回答量:185
采纳率:0%
帮助的人:182万
展开全部
真不能夸窗体调用控件吗?
你试试这种方法:
吧textbox1设置为public类型的
然后再form1里面添加以下代码:
public static Form1 form1;
在初始化函数里面:
this=form1;
然后form2中就可以:
Form。form1.textbox1.text=this.textbox1.text
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
西三227
2010-05-12 · TA获得超过1168个赞
知道小有建树答主
回答量:473
采纳率:0%
帮助的人:343万
展开全部
哪有你这种写法的。跨窗体调用通常好的方法只有一个:事件!建议你先学学委托(特殊的事件)吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式