if (Form1.ShowDialog() == DialogResult.OK)
{
//这里要怎么写,才能实现下面的方法事件
}
private void tvTypeMenu_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
}
就是关闭窗口后,要刷新更改后的DATAGRIDVIEW数据。
我的想法是通过点击TreeView的树节点,重新读取数据,然后绑定。
TreeView绑定的数据是个分类(如QQ,MSN)
通过点击分类(QQ,MSN)读取分类的数据,然后修改完数据后,关闭窗体后,要刷新更新后的数据
if (Form1.ShowDialog() == DialogResult.OK)
{ //这里要怎么写,才能实现下面的方法事件this.tvTypeMenu.NodeMouseClick += new TreeNodeMouseClickEventHandler(tvTypeMenu_NodeMouseClick);
}
void tvTypeMenu_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
throw new NotImplementedException();
}
问题描述清楚再说。。。
用模式窗体,更改数据后重新绑定下数据源就OK了
兄弟,我收回我早上的回答。你是不是这个意思:
可以用Invoke调用你想要触发的事件,这样可以模拟用户点击了一次。不过,就是你要设置好args参数,指定要点击的Node还有位置。具体你自己再测试测试吧。下边是我给出的代码,用MessageBox模拟弹出窗口,也就是子窗口。
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
this.tvTypeMenu.NodeMouseClick += new TreeNodeMouseClickEventHandler(tvTypeMenu_NodeMouseClick);
this.tvTypeMenu.Nodes.Add("123");
}
void tvTypeMenu_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
if (MessageBox.Show("ok") == System.Windows.Forms.DialogResult.OK)
{
TreeNodeMouseClickEventArgs args = new TreeNodeMouseClickEventArgs(this.tvTypeMenu.Nodes[0], System.Windows.Forms.MouseButtons.Left, 0, 0, 0);
this.Invoke(new TreeNodeMouseClickEventHandler(this.tvTypeMenu_NodeMouseClick), this.tvTypeMenu, args);
}
}
}