| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1441 人关注过本帖
标题:窗口传值——如何实现B窗体实现A窗体的组件
只看楼主 加入收藏
Vseen
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-8-12
收藏
 问题点数:0 回复次数:10 
窗口传值——如何实现B窗体实现A窗体的组件
A窗体:
treeView1……
B窗体:
textbox1……
buttone1……
现求问:如何实现监听button1后,在A窗体的treeView1上添加一个以textbox1.text为名节点?
困惑已久,望路过的朋友帮忙。

[[it] 本帖最后由 Vseen 于 2008-8-12 20:28 编辑 [/it]]
搜索更多相关主题的帖子: 窗体 组件 窗口 节点 困惑 
2008-08-12 20:23
Vseen
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-8-12
收藏
得分:0 
帮忙啊!求助!
2008-08-12 20:36
wzg0319
Rank: 5Rank: 5
等 级:职业侠客
帖 子:68
专家分:305
注 册:2007-9-12
收藏
得分:0 
form1窗口:
public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form2 form2 = new Form2(textBox1.Text);
            form2.Show();
        }
    }

form2窗口:
 public partial class Form2 : Form
    {
        public Form2(string b)
        {
            InitializeComponent();
            treeView1.Nodes.Add(b);
        }
    }
2008-08-12 20:51
Vseen
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-8-12
收藏
得分:0 
可问题在fomr1里,fomr1已show。
2008-08-12 21:27
Vseen
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-8-12
收藏
得分:0 
可问题是,treeview1在fomr1里,fomr1已show
2008-08-12 21:28
liubaoen
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:104
专家分:117
注 册:2006-6-12
收藏
得分:0 
提示
感觉楼主还在用面向过程的思维来思考问题啊,现在是面向对象,既然面向对象,那就简单了,直接在form2里调用form1就可以了啊,既然form1都可以引用了,那什么属性都可以更改了撒。
刚开始先实例化form2,然后在form2里实例化form1,
for example:
myform=new form1;
myform.show();
这样myform就是form1的引用啊,然后再在他上面修改不就行了啊
for example:
myform.Text="***";
然后在触发一次刷新,不就显示了改变了吗?
2008-08-12 21:58
Vseen
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-8-12
收藏
得分:0 
不行啊。这样反而更麻烦。
我尝试用你的方法,一开始觉得似乎是正确的。
可我尝试后,才发现不行啊。
还是我理解错了,要不麻烦你帮我写一简单代码行吗?
2008-08-12 22:34
wzg0319
Rank: 5Rank: 5
等 级:职业侠客
帖 子:68
专家分:305
注 册:2007-9-12
收藏
得分:0 
form1窗口
 public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
           
        }
        public event EventHandler name;
        private Form2 form2 = new Form2();
        private void button1_Click(object sender, EventArgs e)
        {
            
            Form2.name = textBox1.Text.Trim();
            if (Form2.oldname != Form2.name)
            {
                name += new EventHandler(Form1_name);
                if (name != null)
                { Form1_name(this, e); }
               
            }
            Form2.oldname = textBox1.Text.Trim();

        }

        void Form1_name(object sender, EventArgs e)
        {
           
            form2.treeView1.Nodes.Add(Form2.name);
            form2.Show();
        }
    }

form2窗口

  public partial class Form2 : Form
    {
         static public string oldname = string.Empty;
         static public string name=string.Empty;
        public Form2()
        {
            
            InitializeComponent();
            
        }
    }
2008-08-13 08:39
Vseen
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-8-12
收藏
得分:0 
form2已Show.
例如form2原本已有5个节点。
然后我要通过form1添加第6个节点。
要先将form2关闭再show?
所以如果form2 f2 = new form2();
就初始化了……

[[it] 本帖最后由 Vseen 于 2008-8-13 13:34 编辑 [/it]]
2008-08-13 13:33
Vseen
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-8-12
收藏
得分:0 
void Form1_name(object sender, EventArgs e)
        {
           
            form2.treeView1.Nodes.Add(Form2.name);
            form2.Show();
        }

将treeView设置为public?
2008-08-13 13:34
快速回复:窗口传值——如何实现B窗体实现A窗体的组件
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.087555 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved