Skip to main content
 首页 » 编程设计

c#之将数据从一个表单传递到另一个表单

2024年08月12日14bjzhanghao

我正在创建一个工具来管理 Windows 8.1 中的 WLAN 网络(因为 W8 没有带有 GUI 的工具)。在应用程序中

单击“添加”按钮会显示另一个表单。填写字段后,我想单击“确定”,关闭第二个表单,并处理第一个表单上的输入数据。

我尝试实现这个问题中的示例 Send values from one form the another form ,但不能。 (我是新手,不太清楚。)

有人可以提供一个可行的例子吗?


第一个表单“添加”按钮

private void AddButton_Click(object sender, EventArgs e) 
{ 
    // show second form 
 
    // get input values (upon clicking on "OK" and closing the second form) 
 
    // handle them 
} 

第二种形式的“确定”按钮

private void OKButton_Click(object sender, EventArgs e) 
{ 
    // send input values to first form 
 
    this.Close(); 
} 

请您参考如下方法:

首先您应该创建一个类,例如:

public class YourFavoriteDefinedClass  
{ 
    public string NetworkName; 
    public string SecurityType; 
    public string EncryptType; 
    public string SecurityKey; 
} 

那么您可以通过以下步骤解决:

程序 1:将 RefreshPerentList 方法添加到父表单

您可以在父表单中声明一个方法,然后在第二个表单的 OKButton_Click 中调用它来刷新或将 Item 添加到 ListView


示例:

首先,您应该将以下代码添加到您的 AddButton_Click 方法中。

private void AddButton_Click(object sender, EventArgs e) 
{ 
     var frmSecond = new YourSecondFormName(); 
     frmSecond.Owner = this; 
     frmSecond.ShowDialoge(); 
} 

然后在您的 ParentForm 中声明以下方法(无线网络管理器)

public void RefreshPerentList(YourFavoriteDefinedClass objSecondFormParams) 
{ 
    // Implement Your Code Here to refresh or add item to listview. 
    var strNetWorkName = objSecondFormParams.NetworkName; 
    var stSecurtiyType = objSecondFormParams.SecurityType;  
    ... 
} 

You Can Pass SecondForm parameters using an object with special type or Class that I named for example : var objSecondFormParams = new YourFavoriteDefinedClass();

然后您可以在 OKButton_Click 中使用以下代码调用它:

private void OKButton_Click(object sender, EventArgs e) 
{ 
     objSecondFormParams.NetworkName = txtNetWorkName.Text; 
     objSecondFormParams.SecurityType= cbSecurityType.SelectedValue; 
     ... 
 
    ((YourParentFormName)this.Owner).RefreshPerentList(objSecondFormParams); 
 
    this.Close(); 
} 

程序 2:在第二个表单中添加事件

您还可以在第二个表单中添加事件,然后在父表单中调用其监听器以刷新或将项目添加到您的listview