C# Windows编程 窗体编程 如何在一个窗体中对另一个窗体进行操作??
有2个窗体,我想在窗体2中对窗体1中的richTextBox中的内容进行选中窗体2是窗体1中有个按钮chuangti2f2=newchangti2();f2.showDi...
有2个窗体,我想在窗体2中对窗体1中的richTextBox中的内容进行选中
窗体2是窗体1中有个按钮
chuangti2 f2=new changti2();
f2.showDialog();
这样写的
窗体2弄个按钮
chuangti1 f1=new changti1();
f1.richTextBox1.Select(index, textBox1.Text.Length);//选中文本
已经设置了richTextBox1的Modifiers 为public
怎么这样怎么就不行嘞?? 展开
窗体2是窗体1中有个按钮
chuangti2 f2=new changti2();
f2.showDialog();
这样写的
窗体2弄个按钮
chuangti1 f1=new changti1();
f1.richTextBox1.Select(index, textBox1.Text.Length);//选中文本
已经设置了richTextBox1的Modifiers 为public
怎么这样怎么就不行嘞?? 展开
3个回答
展开全部
1)修改RichtTextBox属性,将Modifiers改为Public
2)在窗体2的后台代码中增加一个新的构造函数:
public partial class Form2 : Form
{
//保存对Form1实例的引用
Form1 form1;
//原来的构造函数
public Form2()
{
InitializeComponent();
}
//新构造函数
public Form2(Form1 form1)
: this()
{
this.form1 = form1;
}
}
3)在Form1中,点击button1显示Form2
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2(this);
f2.Show();
}
4)在Form2中,点击button1修改Form1.RichTextBox内容
private void button1_Click(object sender, EventArgs e)
{
//至此,可以在Form2操作Form1中的RichTextBox控件了。以下是示例
form1.richTextBox1.SelectAll();
form1.richTextBox1.SelectedText = "aaaaaaaaaaaaa";
}
展开全部
楼主采纳一楼吧,他比我快了一步。。郁闷了。。。
我和你讲讲为什么你不行吧。
因为,你窗体2的按钮里面直接写:
chuangti1 f1=new changti1();
那么,等于是定义了一个新的chuangti1类,并非你当前chuangti1的那个窗体了!
也就是,当前显示的窗体1,和你new出来的chuangti1不是同一个东西。
所以,根本就没效果了。
所以,你要把form1传进form2的构造
我和你讲讲为什么你不行吧。
因为,你窗体2的按钮里面直接写:
chuangti1 f1=new changti1();
那么,等于是定义了一个新的chuangti1类,并非你当前chuangti1的那个窗体了!
也就是,当前显示的窗体1,和你new出来的chuangti1不是同一个东西。
所以,根本就没效果了。
所以,你要把form1传进form2的构造
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
chuangti1 f1=new changti1();
这句话又新实例化了一个chuangti1,和之前的那个没有关系的
可以这么处理:
重载chuangti2的构造函数,把你要修改窗体1中的控件当作参数传递进去
例如,chuangti2 f2=new changti2(...);
这样一来,在新出现的窗体2中就可以操作窗体1中的内容了
具体想怎么操作,根据需求修改构造函数即可
另外,不提倡修改控件的访问权限,违反面向对象的封装性,最好不要把private修改成public,
很不好
这句话又新实例化了一个chuangti1,和之前的那个没有关系的
可以这么处理:
重载chuangti2的构造函数,把你要修改窗体1中的控件当作参数传递进去
例如,chuangti2 f2=new changti2(...);
这样一来,在新出现的窗体2中就可以操作窗体1中的内容了
具体想怎么操作,根据需求修改构造函数即可
另外,不提倡修改控件的访问权限,违反面向对象的封装性,最好不要把private修改成public,
很不好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询