首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于WINFORM里面刷新数据的有关问题,求围观!

2013-02-24 
关于WINFORM里面刷新数据的问题,求围观!!!!winform 里面form2 添加信息,添加成功后,form1更新。form1绑定的

关于WINFORM里面刷新数据的问题,求围观!!!!
winform 里面  form2 添加信息,添加成功后,form1更新。form1绑定的是form2所添加的信息。怎么实现Form2添加完后让form1刷新数据。是winform里面。谢谢,谢谢!
[解决办法]
1、如果form2是form1打开的,那么可以在form2关闭时,重新获取数据绑定,就实现刷新了。

2、如果想定时刷新,就放一个timer。
[解决办法]
用事件
from2添加数据后触发from1数据更新
[解决办法]
委托修改主窗体相关数据http://topic.csdn.net/u/20100106/20/e9697297-75f9-4450-aaa9-da0da416cf41.html?39668

[解决办法]
方法有2
1。form2修改到数据库 关闭后 重新绑定 form1 

2。form1 中写一个public方法  在form2关闭前 调用form1中的方法

方法2 又有两种传递form1 的方法
1。form1 作为form2 的ower 传递过去
2。form2 中写一个 以form1 为参数的构造函数 初始化form2的时候就传递过去
[解决办法]

引用:
引用:

1、如果form2是form1打开的,那么可以在form2关闭时,重新获取数据绑定,就实现刷新了。

2、如果想定时刷新,就放一个timer。


是第一种情况。但是我在绑定成功的时候,已经再次调用了form1的bind方法了啊。但是没反应的。要不我也不来论坛求救了。。。。。


你怎么打开的form2呢?没反应是你的bind方法的问题吧
[解决办法]
用观察者模式来做
form2修改后 给form1一个委托事件 
form1在事件中实现刷新
[解决办法]

//winForm1里:
        //绑定事件,我这是绑定到combobox
        public void BindDDL(参数)
        {
            cobb_server.DataSource = Bl.LoadSSr(参数);
            cobb_server.DisplayMember = "QdbIP";
            cobb_server.ValueMember = "ID";
            cobb_server.SelectedIndex = 0 ;
        }
//winForm2里:
        public winForm1 wf1;

        private void 需要改变wf1的事件()
        {
            if (wf1 == null 
[解决办法]
 wf1.IsDisposed)
            { }
            else { wf1.BindDDL(参数); }
        }

[解决办法]

public partial class Form2 : Form
    {

        //密码窗体
       
        public Form2()
        {
            InitializeComponent();
        }
        public delegate void mydelegate();//定义一个委托 


        public static  event mydelegate myevent;//定义上诉委托类型的事件 


        private void button1_Click(object sender, EventArgs e)
        {
         
            if (myevent != null)
            {
                myevent();
            } 

        }


C# code
 private void button2_Click(object sender, EventArgs e)
        {
            Form2 fm2 = new Form2();
            Form2.myevent += new Form2.mydelegate(fm2_myevent);
            fm2.Show(); 
            
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            MessageBox.Show("你好");
        }
        void fm2_myevent()
        {
            Form1_Load(null,null);
        }






[解决办法]
这种问题可以考虑接口+事件。.net里有一个INotifyPropertyChanged接口,其背后是一种解决你遇到的问题的不错的模式,当然这种模式可能不适用于你的情况,但其思想是可以借鉴的。去MSDN,搜索这个接口的名字,你就知道怎么回事了。
[解决办法]
这么多人都回答了啊

最简单的就是form2调用form1的绑定数据方法,添加完新数据后调用form1的绑定方法即可

热点排行