Form1类中含有一个treeview结构
点击form1的button按钮
弹出Form2类的一个窗口form2
该窗口负责接收一些文件信息 并创建一个新文件
然后怎么能够在form1中的treeview中增加一个新节点form1的treeview 在Form2 类中不可见
错误提示 找不到treeview的上下文望达人指点谢谢
点击form1的button按钮
弹出Form2类的一个窗口form2
该窗口负责接收一些文件信息 并创建一个新文件
然后怎么能够在form1中的treeview中增加一个新节点form1的treeview 在Form2 类中不可见
错误提示 找不到treeview的上下文望达人指点谢谢
解决方案 »
- C#中可以把DataTable中的Log_name字段中的System.Byte[]还原吗,该如何做。能给实例代码最好不过了
- 加密解密的问题,
- 商用软件开发ado。net不使用ms的dataadapter和dataset吗?
- .net调用mencoder压缩中断的问题
- 一个简单的访问数据库的例子居然错了
- 高分求,一个简单的正则表达式!
- 求一正则,非常感谢!! 在线等~
- 中秋过完了,不知道大家都玩啥了,出来晒一下
- 谁能够 提供 c#的 查找,替换 系统中指定目录文本文件 中的 字符串 的程序 , 多谢 !!~!
- WF 系统 内存问题
- 关于Remoting的问题!
- 怎么在VS2003里添加treeview控件
http://blog.csdn.net/yumanqing/archive/2006/10/23/1346272.aspx
http://blog.csdn.net/yumanqing/archive/2006/10/23/1346272.aspx
默认是private
窗口的属性列表里有modifiers,就是这个设为public也可以把Form1里treeview的引用做为参数传给Form2
是这样的
先是点击form1的button 弹出 form2
在form2中输入文件名 文件描述等
然后点击OK
弹出form3
在form3中有textbox 在其中输入文件内容
然后创建 文件
然后需要更新form1中的treeview节点
可在form3中 form1的treeview不可见啊
在form2中点击button创建了 form3
好像没有创建form1对象啊?
窗体互相引用增加了 耦合 度. 建议楼主用 Delegate+Event, 如下是实例:
1 定义一个公用的委托
public delegate void DataSourceAddDelegate();
2 中间类:
public class MyDataSource
{
public static ArrayList m_ArrayList = new ArrayList();
public static event DataSourceAddDelegate DataSourceAddEvent; public static void Add(string str)
{
m_ArrayList.Add(str );
if (DataSourceAddEvent != null)
DataSourceAddEvent();
}
}3 主窗体 Form1:
public Form1()
{
InitializeComponent();
MyDataSource.DataSourceAddEvent += new DataSourceAddDelegate(RefreshListBox);
} private void RefreshListBox()
{
this.listBox1.DataSource = null;
this.listBox1.DataSource = MyDataSource.m_ArrayList;
} private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.ShowDialog();
}4 Form2
private void button1_Click(object sender, EventArgs e)
{
if (!String.IsNullOrEmpty(this.textBox1.Text))
{
MyDataSource.Add(this.textBox1.Text);
this.textBox1.Text = "";
this.textBox1.Focus();
}
}
public static yourMainWindow pCurrentWin = null;
然后在主窗体构造函数中,给静态成员初始化,如下:
pCurrentWin = this;请问 我的问题中 yourMainWindow 应该用什么替换??
谢谢
谢谢
-----------------------------
应该用Form1来替换
public static Form1 form1=this;然后在from3,包括任何form中都可以
form1.TreeView1.Nodes.Add()........