您的位置:程序门 -> .net技术 -> c#



c#中关闭子窗体刷新主窗体


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


c#中关闭子窗体刷新主窗体
发表于:2007-01-18 14:34:50 楼主
我在一窗体中弹出一个子窗体,当关闭子窗体时,如何刷新主窗体
发表于:2007-01-18 14:40:021楼 得分:0
如果你是做数据同步的话,就重新查询数据库
如果你是做其他的话,我也不清楚!
发表于:2007-01-18 14:41:072楼 得分:0
父窗体
  private   void   button1_click(object   sender,   system.eventargs   e)
{
form2   f2=new   form2   ();
if(f2.showdialog   ()==dialogresult.ok   )
this.refresh   ();
   
}

子窗体的closed事件
this.dialogresult=dialogresult.ok   ;
发表于:2007-01-18 14:47:173楼 得分:0
我是想做一个查询,单击查询弹出子窗体,输入查询内容后,主窗体显示结果
发表于:2007-01-18 16:31:484楼 得分:0
那你可以将你 输入查询内容 保存在一个stirng   里
并将它设为 public  
这样就可以直接调用它来刷新你之前的窗体了
发表于:2007-08-16 10:35:015楼 得分:0
3楼的不对,我想的是子窗口操作。
发表于:2007-08-16 11:08:256楼 得分:0
你把窗体的ds或者控件,传给子窗体
然后在子窗体里面操作这些控件
发表于:2007-08-16 11:12:017楼 得分:0
通过传参数   你试试
发表于:2007-08-16 11:17:028楼 得分:0
重载子窗体的构造函数

将父窗体传给子窗体

然后再子窗体的关闭事件中通过传进来的父窗体对象   调用父窗体的refresh函数

伪代码如下
//子窗体
class   childwin   :   form
{
        private   string   newstring   =   "new   data ";
        private   form   parentwin;
        public   childwin(form   parentwin)
        {  
                parentwin   =   parentwin;
        }
        public   void   close()
        {
                parentwin.refresh(newstring);
                //todo:   you   want   to   do;
        }
}

//父窗体
class   parentwin   :   form
{
        public   string   teststring   =   "old   data ";
        public   void   refresh(string   newstring)
        {
            teststring   =   newstring;
        }
        public   createchild()
        {
                  childwin   cw   =   new   childwin(this);
        }
}
发表于:2007-08-16 14:31:599楼 得分:0
up
发表于:2007-08-16 14:37:4910楼 得分:0
从父窗体打开子窗体,然后想在子窗体中刷新父窗体
关键点就在,怎么把当前的父窗体实例传到子窗体
love_virus(坏坏)的方法不错


快速检索

最新资讯
热门点击