100分求窗体间的操作有关问题,恳请高手帮忙
100分求窗体间的操作问题,恳请高手帮忙
窗体描述:有三个窗体A、B、C, A是MDI容器窗体,B、C是都是A窗体MDI子窗体,B有控件TreeView1和Button1,C有控件TextBox1和Button1
实现功能描述:从A中调用B窗体,从B中的Button1中调用C窗体,从C中的Button1单击后,将TextBox1的内容添加成B窗体TreeView1的一个节点,但不关闭C窗体。本人水平有限,一直找不到回写的方法!
------解决方案--------------------
http://topic.csdn.net/u/20110407/19/c1068d69-7331-4d02-bc0b-f5ba7a5f8dd8.html
------解决方案--------------------
把TreeView1传入C就可以了
------解决方案--------------------
B窗体TreeView1的modifier改为friend或者public,就可以从C窗体中访问到了。
------解决方案--------------------
------解决方案--------------------
要知道一点设计“艺术”知识。通常作为一个设计者,他有重构的意识时,知道这里FormC的设计过于简单,因此他不会把button1和TextBox1的midifiers属性设置为public,而是保持private。这时候应该封装这个不成熟的FormC,写代码
窗体描述:有三个窗体A、B、C, A是MDI容器窗体,B、C是都是A窗体MDI子窗体,B有控件TreeView1和Button1,C有控件TextBox1和Button1
实现功能描述:从A中调用B窗体,从B中的Button1中调用C窗体,从C中的Button1单击后,将TextBox1的内容添加成B窗体TreeView1的一个节点,但不关闭C窗体。本人水平有限,一直找不到回写的方法!
------解决方案--------------------
http://topic.csdn.net/u/20110407/19/c1068d69-7331-4d02-bc0b-f5ba7a5f8dd8.html
------解决方案--------------------
把TreeView1传入C就可以了
------解决方案--------------------
B窗体TreeView1的modifier改为friend或者public,就可以从C窗体中访问到了。
------解决方案--------------------
------解决方案--------------------
要知道一点设计“艺术”知识。通常作为一个设计者,他有重构的意识时,知道这里FormC的设计过于简单,因此他不会把button1和TextBox1的midifiers属性设置为public,而是保持private。这时候应该封装这个不成熟的FormC,写代码
- C# code
public string MyInputKey { get { return this.textBox1.Text.Trim(); } } public event EventHandler EnterKeyCompleted; private void button1_Click(object sender, EventArgs e) { if (this.EnterKeyCompleted != null) this.EnterKeyCompleted(this, EventArgs.Empty); }