`
wyf
  • 浏览: 433332 次
  • 性别: Icon_minigender_1
  • 来自: 唐山
社区版块
存档分类
最新评论

Winform子窗体刷新父窗体

阅读更多
调用窗体(父):Form1,被调用窗体(子):Form2
方法1:   所有权法
//Form1:
//需要有一个公共的刷新方法
public   void   Refresh_Method()
{
//...
}
//在调用Form2时,要把Form2的所有者设为Form1
Form2   f2   =   new   Form2()   ;
f2.Owner   =   this;
f2.ShowDialog()   ;
//Form2:
//在需要对其调用者(父)刷新时
Form1   f1   ;
f1   =   (Form1)this.Owner;
f1.Refresh_Method()   ;
方法2:自身传递法
//Form1:
//需要有一个公共的刷新方法
public   void   Refresh_Method()
{
//...
}
Form2   f2   =   new   Form2()   ;
f2.ShowDialog(this)   ;
//Form2:
private   Form1   p_f1;
public   Form2(Form1   f1)
{
InitializeComponent();
p_f1   =   f1;
}
//刷新时
p_f1.Refresh_Method()   ;
方法3:属性法
//Form1:
//需要有一个公共的刷新方法
public   void   Refresh_Method()
{
//...
}
//调用时
Form2   f2   =   new   Form2()   ;
f2.P_F1   =   this;
f2.Show()   ;

//Form2:
private   Form1   p_f1;
public   Form1   P_F1
{
get{return   p_f1;}
set{p_f1   =   value;}
}
//刷新时
p_f1.Refresh_Method()   ;
方法4:委托法
//Form1:
//需要有一个公共的刷新方法
public   void   Refresh_Method()
{
//...
}
//调用时
Form2   f2   =   new   Form2()   ;
f2.ShowUpdate   +=   new   DisplayUpdate(Refresh_Method)   ;
f2.Show()   ;
//Form2:

//声明一个委托
public   delegate   void   DisplayUpdate();
//声明事件
public   event   DisplayUpdate   ShowUpdate;
//刷新时,放在需要执行刷新的事件里
ShowUpdate();

 最好用方法四

分享到:
评论

相关推荐

    C#实现winform用子窗体刷新父窗体及子窗体改变父窗体控件值的方法

    在C# WinForm开发中,有时我们需要在子窗体中操作或更新父窗体的状态,例如刷新父窗体内容或更改父窗体上的控件值。以下两种方法详细阐述了如何实现这一目标。 **方法一:使用委托** 在这种方法中,我们通过定义一...

    WinForm 关闭子窗体时刷新父窗体的数据

    当用户在子窗体中进行操作后,比如编辑、添加或删除数据,通常希望在关闭子窗体时能够自动刷新父窗体,以便显示最新的数据状态。这涉及到事件处理和对象间的通信。以下是对这一主题的详细解释。 首先,我们需要了解...

    c# winform 用子窗体刷新父窗体,子窗体改变父窗体控件的值

    **一、子窗体刷新父窗体** 1. **事件传递**:子窗体可以定义自定义事件,并在适当的时候触发这个事件。父窗体作为事件处理者,注册该事件并实现刷新逻辑。例如: ```csharp // 在子窗体中定义事件 public delegate...

    C#(winform)里子窗体修改父窗体(子窗体刷新父窗体数

    ### C# WinForms 子窗体刷新父窗体数据机制详解 #### 背景介绍 在C# WinForms应用程序开发中,有时我们需要实现在子窗体中对数据进行修改后,能够立即更新主窗体(父窗体)中显示的数据。这种需求常见于多级界面的...

    winform窗体之间同步刷新

    - **定义事件处理方法**:在父窗体中定义事件处理方法,该方法会在子窗体的事件触发时执行,用于刷新父窗体的界面。 ```csharp private void ChildForm_RefreshParentFormEvent(object sender, EventArgs e) { ...

    子窗体调父窗体

    二、子窗体刷新父窗体的实现 1. 传递引用法: - 父窗体代码: ```csharp public partial class MainForm : Form { public MainForm() { InitializeComponent(); } private void ShowChildFormButton_...

    winform c#中子窗体关闭刷新父窗体的实例

    总结一下,这个例子展示了在Winform C#应用程序中如何通过子窗体的关闭事件来刷新父窗体中的数据显示。关键是利用`DialogResult`属性传递信息,以及在适当的时机重新绑定数据。这种机制在多窗口交互的应用中非常常见...

    C#_winform_多个窗体之间相互传递数据操作

    4. **数据刷新**:在接收到新数据后,父窗体需要及时更新相关的控件显示。例如,如果数据传递到了TextBox,可以调用`textBox1.Text = newData;`来更新文本;如果是DataGridView,可能需要重新加载数据源或使用`...

    winform窗体之间传值的几种方法

    自身传递法是另一种简单实用的数据传递方式,它通过构造函数传递父窗体的实例到子窗体中。 **示例代码:** - **父窗体(Form1):** ```csharp public partial class Form1 : Form { public void Refresh_...

    C#Winform多个子窗口与主窗口之间任意切换不闪烁源码

    在"子窗体例程"中,你可以找到这些技术的实际应用。源代码中的注释会指导你如何将这些方法整合到自己的项目中。通过学习和理解这个示例,你不仅可以解决闪烁问题,还能掌握如何在C# Winform环境中高效管理多个窗口的...

    C# Winform 基础控件总结

    - **MdiChildren** 和 **MdiParent**:分别获取窗体的MDI子窗体集合和MDI父窗体。 - **ShowInTaskbar**:获取或设置一个值,该值指示是否在任务栏中显示窗体图标。 - **Visible**:获取或设置一个值,该值指示窗体...

    winform控件介绍

    - **StartPosition属性**:确定窗体启动时的位置,例如 CenterScreen(屏幕中心)、CenterParent(父窗体中心)等。 - **Text属性**:设置窗体标题栏显示的文本。 - **Width/Height属性**:分别设定窗体的宽度和高度...

    关于C#WinForm FlowLayoutPanel 最小化还原出现空白问题解决方案

    当设置为`Fill`时,控件会填充其父容器的所有空间,这通常会导致在窗体尺寸变化时出现问题,尤其是在最小化和恢复过程中。 在描述的问题中,滚动区域的空白可能是因为在窗体最小化后,`FlowLayoutPanel`的尺寸收缩...

    窗体及控件的属性方法及事件

    可以设置为`CenterScreen`(居中屏幕)、`CenterParent`(居中父窗体)等。 - **Text**:此属性用于设置或获取窗体的标题文本。 - **Width/Height**:分别用于获取或设置窗体的宽度和高度。 - **Left/Top**:分别...

    C#控件大全 全部用法和名称在这里

    - **用途**:如果为`true`,当控件超出其父窗体时,父窗体会自动显示滚动条。 18. **BackColor**: 获取或设置窗体的背景颜色。 - **用途**:设置窗体的背景色。 19. **BackgroundImage**: 获取或设置窗体的背景...

Global site tag (gtag.js) - Google Analytics