各位同僚,小弟以前没有开发过winform项目,在这次做的项目中我遇到一个问题,有两个用户控件窗体 在单击用户窗体(form1)中的TreeView 的每一个节点时把用户窗体(form2)添加到group容器中,然后在form2窗体中执行删除或修改,如何刷新form1窗体中的TreeView控件
解决方案 »
- gridview控件的编辑字段操作用C#代码写
- Visual Studio中找到Report menu——〉Report Properties。。。——〉References 添加引用
- 这段代码有什么问题??为什么编译能通过,但是运行就出错了???
- 用了xml为什么就接收不到传过来的值呢?
- 读取文本问题
- 50分求asp.net结合AutoCAD做二次开发经验,不够再加!
- mac地址校验的问题
- 记录集大数据量的处理.特急,各位兄弟帮忙.
- ASP.NET MVC分页组件MvcPager 2.0版发布暨网站全新改版
- 一个很简单问题。谁能解决! 我是新手。
- 正则表达式有没有与运算符呀
- GridView.DataKeys”赋值 -- 它是只读的
比如:在Form2中定义一个事件
OnAdd; //添加结点时。然后在初始化Form2时一定要用Form1中的某个函数订阅这个事件,比如:
Form2 f2 = new Form2();
f2.OnAdd += this.AddNode();在Form2的窗口中,添加结点时产生事件。
比如:
private void AddSomeThing()
{
//... Do Add Something
if(OnAdd!=null)OnAdd(...); //我没写,可以带参数的
}这样你的主窗口就能收到这个事件了。
{
public delegate void OptEvent(string s); private string s = ""; public event OptEvent OnAdd;
public event OptEvent OnDel;
public event OptEvent OnEdit; public OptForm()
{
InitializeComponent();
} private void btnAdd_Click(object sender, EventArgs e)
{
s += textBox1.Text;
if (OnAdd != null) OnAdd(s);
} private void btnEdit_Click(object sender, EventArgs e)
{
s = textBox1.Text;
if (OnEdit != null) OnEdit(s);
} private void btnDel_Click(object sender, EventArgs e)
{
s = "";
if (OnDel != null) OnDel(s);
}
}这是主窗口里的代码:private void UpdateTextBox(string s)
{
textBox1.Text = s;
}private void button2_Click(object sender, EventArgs e)
{
OptForm of = new OptForm();
/*
添加所有事件的句柄。
逻辑呢就是每次操作之后都显示OptForm中s的值。
*/
of.OnAdd += UpdateTextBox;
of.OnEdit += UpdateTextBox;
of.OnDel += UpdateTextBox;
of.Show();
}
这两段代码已经可用了!编译通过了。
-----------
完成你的增删改操作后.重新调用你构建TreeView节点的方法即可.就相当于重新加载一次数据
然后你关闭第二个窗体,肯定要刷新一次第一个窗体的,刷新第一个窗体可以使用SHOW,或者其他的方法。在那个方法里面,
再写一次你第一次加载TreeView 节点的方法,这样就完成刷新了